脚本添加定时任务(Linux)

   引言:前段时间写了个脚本,用来定时备份数据库的 ,后来定时任务也添加了,结果却要求写个脚本去添加定时任务,哎...当时真是一头雾水!后来请教了下高人,得以解决。下面我们来看到脚本。

 

#!/bin/bash
myscript=resume_backup.sh
filePath=$(cd "$(dirname "$0")";pwd)
echo $filePath
crontab -l > cron
number=`grep -n "$myscript" cron | cut -d ":" -f 1`
aa=$number
echo $aa
if [ -z $aa ];
then
echo "该任务不存在,将添加"
echo '1 12 * * * '$filePath'/'$myscript'' >> cron
crontab cron
rm -f cron
else
echo "该任务已经存在,将会先删除再添加"
sed -i '/'$myscript'/d' cron
echo '0 0 * * 0 '$filePath'/'$myscript'' >> cron
crontab cron
rm -f cron
fi

    这个脚本的大致功能就是,首先去判断任务是否已经存在,存在的话就先删除,再去添加,不存在就直接添加了。

  

  代码解释:crontab -l > cron  这行就是将定时任务写到一个中间文件中,方便下面对定时任务的操作。

                  number=`grep -n "$myscript" cron | cut -d ":" -f 1`  这个是获得$myscript在cron中所在的行数。

                  if [ -z $aa ]; 判断aa是否为空。

                  echo '1 12 * * * '$filePath'/'$myscript'' >> cron 将 '1 12 * * * '$filePath'/'$myscript'' 写到 cron中去。

                  crontab cron  将cron中的内容写到定时任务中去(全部覆盖)。

                  sed -i '/'$myscript'/d' cron  从cron中删除包含$myscript的行。

                   rm -f cron  删除中间文件cron。

       

       脚本很强大,永远保持一颗学习脚本的心!!! 

                   

                 


 

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值