- 利用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文件时 可使用上述方式 恢复计划任务 
                
                
                
        
        
    
  
 
 |