Files
2025-10-29 23:09:50 -06:00

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