{{tag>linux debian log rotate logrotate cron crontab}} ======logrotate====== There are a number of ways to rotate logs. -Using a script and cron (or systemd.timer) -Using ''logrotate'' ====Logrotate using script==== edit the sudo crontab ''sudo crontab -e'': Example of job definition: # .---------------- minute (0 - 59) # | .------------- hour (0 - 23) # | | .---------- day of month (1 - 31) # | | | .------- month (1 - 12) OR jan,feb,mar,apr ... # | | | | .---- day of week (0 - 6) (Sunday=0 or 7) OR sun,mon,tue,wed,thu,fri,sat,sun # | | | | | # * * * * * user-name command to be executed # 0 0 1 * * /home/shared/Myscripts/rotatelog.sh /var/log/UPS/UPSLog.Log #Rotate NUT UPS log file where ''/home/shared/Myscripts/rotatelog.sh'' is: #!/bin/bash logfile=$1 if [ ! -f $logfile ]; then echo "log file not found $logfile" exit 1 fi timestamp=`date +%Y%m%d` newlogfile=$logfile.$timestamp cp $logfile $newlogfile cat /dev/null > $logfile gzip -f -9 $newlogfile Remember to make executable (''sudo chmod +x /home/shared/Myscripts/rotatelog.sh'') ====logrotate==== -Install logrotate - debian: ''sudo apt install logrotate'' - Arch: ''sudo pacman -S logrotate'' *The main logrotate configuration file is here: ''/etc/logrotate.conf'' * ====Links==== [[https://www.linuxshelltips.com/rotate-logs-with-logrotate-linux/|How to Rotate Logs With Logrotate in Linux]] <- home_server:home_server_setup:other_services:samba|Prev ^ home_server:home_server_setup:other_services:index|Start page ^ home_server:home_server_setup:other_services:firmware|Next ->