- 利用crontab 用户计划任务存储文件进行备份
crontab 文件存储目录为/var/spool/cron
脚本地址
[root@iZwz96wz957owmvqecj6osZ scripts]
workdir=`cd $(dirname $0);pwd`
same_day=`date +%F`
seven_day_age=`date -d '-7 day' "+%F"`
backup_dir=/data/backup
cat > $workdir/user_list.txt << EOF
root
EOF
while read line
do
cp -ar /var/spool/cron/$line $backup_dir/$line-$same_day
done < $workdir/user_list.txt
find $backup_dir -iname "*-$seven_day_age" -exec rm -rf {} \;
计划任务
10 0 * * * /usr/bin/bash /data/scripts/crontab_backup.sh
- 使用crontab -l重定向生成备份文件
脚本地址
[root@iZwz96wz957owmvqecj6osZ scripts]
workdir=`cd $(dirname $0);pwd`
same_day=`date +%F`
seven_day_age=`date -d '-7 day' "+%F"`
backup_dir=/data/backup
cat > $workdir/user_list.txt << EOF
root
EOF
while read line
do
/bin/crontab -l > $backup_dir/$line-$same_day
done < $workdir/user_list.txt
find $backup_dir -iname "*-$seven_day_age" -exec rm -rf {} \;
计划任务如上
本文参考:https://blog.csdn.net/hittata/article/details/7713072 本文参考:https://blog.51cto.com/wutengfei/2287467
总结:当没有做计划任务备份时,可以去找到crontab 计划任务执行日志中过滤去重,日志路径为:/var/log/cron
cat /var/log/cron |cut -d " " -f 6- |sort |uniq 获取当天执行的计划任务
效果如下
当没有备份crontab文件时 可使用上述方式 恢复计划任务
|