51 lines
1.4 KiB
Bash
51 lines
1.4 KiB
Bash
#!/bin/bash
|
|
set -e # die on any error
|
|
|
|
# log locations
|
|
chrony_tracking=/var/log/chrony/tracking.log
|
|
chrony_statistics=/var/log/chrony/statistics.log
|
|
chrony_measurements=/var/log/chrony/measurements.log
|
|
telegraf=/var/log/telegraf/telegraf.log
|
|
grafana=/var/log/grafana/grafana.log
|
|
syslog=/var/log/syslog
|
|
rootcrontab=/var/log/root-crontab.log
|
|
|
|
function backup_logs() {
|
|
# make log backup dir with unix timestamp
|
|
dname="./log_backup_$(date +%s)"
|
|
mkdir $dname
|
|
|
|
# copy em
|
|
sudo cp $chrony_tracking $dname/chrony_tracking.log
|
|
sudo cp $chrony_statistics $dname/chrony_statistics.log
|
|
sudo cp $chrony_measurements $dname/chrony_measurements.log
|
|
sudo cp $telegraf $dname/telegraf.log
|
|
sudo cp $grafana $dnamme/grafana.log
|
|
sudo cp $syslog $dname/syslog
|
|
sudo cp $rootcrontab $dname/syslog
|
|
|
|
# fix permissions
|
|
sudo chown -R $USER:$USER $dname
|
|
chmod 775 $dname
|
|
chmod 664 $dname/*
|
|
|
|
# compress logs
|
|
tar fczvv $dname.tar.gz $dname
|
|
|
|
# cleanup
|
|
rm -rf $dname
|
|
}
|
|
|
|
function clear_logs() {
|
|
# truncate logs to empty files
|
|
sudo bash -c "echo '' > $chrony_tracking"
|
|
sudo bash -c "echo '' > $chrony_statistics"
|
|
sudo bash -c "echo '' > $chrony_measurements"
|
|
sudo bash -c "echo '' > $telegraf"
|
|
sudo bash -c "echo '' > $grafana"
|
|
sudo bash -c " echo '' > $rootcrontab"
|
|
sudo bash -c "echo '' > $syslog"
|
|
}
|
|
|
|
backup_logs
|
|
clear_logs |