#!/bin/bash
# 设置服务器日志备份目录
backup_dir="/data/backups/linux_logs"
mkdir -p "$backup_dir"
# 设置服务器日志目录
log_dir="/var/log"
# 设置日期格式
date_format=$(date +"%Y%m%d_%H%M%S")
# 备份日志文件
tar -czf "$backup_dir/log_backup_$date_format.tar.gz" -C "$log_dir" .
# 删除超过6个月的备份文件
find "$backup_dir" -type f -name "log_backup_*" -mtime +180 -exec rm {} \;
echo "Weekly log backup completed."
Linux中的定时任务可以通过crontab命令来管理。
crontab -e:编辑当前用户的定时任务列表;
crontab -l:查看当前用户的定时任务列表;
crontab -r:删除当前用户的所有定时任务;
crontab -u username -e:编辑指定用户(username)的定时任务列表;
crontab -u username -l:查看指定用户(username)的定时任务列表;
crontab -u username -r:删除指定用户(username)的所有定时任务。
在编辑定时任务之后,需要保存并退出文件才能生效。每行代表一个定时任务,格式为分、小时、日期、月份、星期几 command。其中,*号表示该字段不限制取值范围,-号表示连续多个数值,/号表示间隔执行等。
下面是一些常见的定时任务示例:
每天上午9点运行脚本 /path/to/script.sh:0 9 * * * /bin/bash /path/to/script.sh
每周五下午3点运行脚本 /path/to/script.sh:0 15 * * 5 /bin/bash /path/to/script.sh
每两小时运行脚本 /path/to/script.sh:*/2 * * * * /bin/bash /path/to/script.sh
每月第一天的8点运行脚本 /path/to/script.sh:0 8 1 * * /bin/bash /path/to/script.sh
每年的7月1日到8月31日的每天下午4点运行脚本 /path/to/script.sh:0 16 1-31 7-8 * /bin/bash /path/to/script.sh
评论