Traccar – fix “The write format 1 is smaller than the supported format 2”

systemctl stop traccar
mkdir /opt/FIXH2
cd /opt/FIXH2
wget https://h2database.com/h2-2019-10-14.zip
wget https://github.com/h2database/h2database/releases/download/version-2.0.206/h2-2022-01-04.zip
unzip h2-2019-10-14.zip
mv h2 ./h2.2019
unzip h2-2022-01-04.zip
mv h2 ./h2.2022
find ./ -name "*.jar"
cp -p /opt/traccar.4.13/data/database.mv.db /opt/FIXH2
java -cp ./h2.2019/bin/h2-1.4.200.jar org.h2.tools.Script -url jdbc:h2:./database -user sa -script backup.zip -options compression zip
java -cp ./h2.2022/bin/h2-2.0.206.jar org.h2.tools.RunScript -url jdbc:h2:./database_new -user sa -script backup.zip -options compression zip
cp ./database_new.mv.db /opt/traccar/data/database.mv.db
systemctl start traccar

HOWTO extract Nginx logs for the past hour/s

Here’s a quick and handy “awk” snippet to extract data from Nginx’s access or error log file for the past hour/s.

# awk -v d1="$(date --date '-60 min' '+%d/%b/%Y:%T')" '{gsub(/^[\[\t]+/, "", $4);}; $4 > d1' /var/log/nginx/access.log

This example shows how to extract data from /var/log/nginx/access.log for the past 60 minutes – ‘-60 min’.

HOWTO exclude specific packages from being updated via yum or dnf

Here are a few examples on how to exclude some packages from being updated during yum/dnf update:

# yum update --exclude=PACKAGENAME 

Exclude all kernel related packages during update:

# yum update --exclude=kernel*

Exclude gcc and java:

# yum update --exclude=gcc,java

Exclude all gcc and php related packages:

# yum update --exclude=gcc* --exclude=php*

In order to permanently exclude/disable updating of some specific packages you might want to update your dnf.conf or yum.conf eg:

[main]
cachedir=/var/cache/yum/$basearch/$releasever
keepcache=0
debuglevel=2
logfile=/var/log/yum.log
exclude=kernel* php*             <---