linux 脚本设置定时,脚本添加定时任务(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。

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

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值