定时备份crontab 计划任务 与 crontab文件误删还原 linux 持续更新

  1. 利用crontab 用户计划任务存储文件进行备份

crontab 文件存储目录为/var/spool/cron

脚本地址

[root@iZwz96wz957owmvqecj6osZ scripts]# cat crontab_backup.sh 
#!/usr/bin/bash

#Tate:2022.3.24
#Author:Yingjian
#function: 定时备份root、普通用户计划任务
#必须为root用户执行 sudo用户 请在所有的命令前在sudo
#env

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
  1. 使用crontab -l重定向生成备份文件
    脚本地址
[root@iZwz96wz957owmvqecj6osZ scripts]# cat crontab_backup_v2.sh 
#!/usr/bin/bash

#Tate:2022.3.24
#Author:Yingjian
#function: 定时备份root、普通用户计划任务
#必须为root用户执行 sudo用户 请在所有的命令前在sudo
#env

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

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值