Linux的shell文件如何来执行命令添加计划任务?

Linux的shell文件如何来执行命令添加计划任务?rt现有一sh文件,我最后希望能添加个命令来自动向计划任务中添加任务:每月1日0点0分0秒执行/root/examp... Linux的shell文件如何来执行命令添加计划任务?rt 现有一sh文件,我最后希望能添加个命令来自动向计划任务中添加任务:每月1日0点0分0秒执行/root/example.sh 文件,循环执行。我应该如何编写?谢谢。 展开
 我来答
小鸟呱呱
2016-08-11 · TA获得超过853个赞
知道小有建树答主
回答量:707
采纳率:66%
帮助的人:389万
展开全部

crontab 命令

crontab -e  ——>编辑当前用户的crontab任务;

crontab -l   ——>列出当前用户的crontab任务;

crontab -r   ——>删除当前用户的crontab任务;


crontab书写格式


PS:

星号(*):代表所有可能的值,例如month字段如果是星号,则表示在满足其它字段的制约条件后每月都执行该命令操作;

逗号(,):可以用逗号隔开的值指定一个列表范围,例如,“1,2,5,7,8,9”;

中杠(-):可以用整数之间的中杠表示一个整数范围,例如“2-6”表示“2,3,4,5,6”;

正斜线(/):可以用正斜线指定时间的间隔频率,例如“0-23/2”表示每两小时执行一次。同时正斜线可以和星号一起使用,例如*/10,如果用在minute字段,表示每十分钟执行一次;

好口子
2017-01-03 · 好口子,手把手教你维护好你的征信!
好口子
采纳数:29399 获赞数:66629

向TA提问 私信TA
展开全部
#同步express的备份
10 0 * * * /opt/dts_rsync.sh &
#导入备份文件
01 7 * * * /opt/dts_input.sh &
那么需要的做的就是提取下载完成时间,然后将导入备份文件时间中的小时部分增加1小时。
由于shell无法直接编辑任务计划。
可以将任务计划内容写入到一个txt文件,然后使用命令将txt的内容覆盖至任务计划
命令如下:
/usr/bin/crontab /opt/cron.txt
完整的shell脚本cron如下:
#!/bin/bash
echo "#######################" >> /opt/cron.log
#记录执行时间
statime=`date +%Y-%m-%d" "%H:%M:%S`
echo "$statime" >> /opt/cron.log
#任务计划开始时间,提取小时
a=`cat /opt/cron.txt | grep dts_input.sh | awk '{print $2}'`
#传输完成时间,提取小时
b=`tail -1 /tmp/dts_message.log | awk '{print $2}' | cut -d ":" -f 1`
echo "任务计划开始时间$a" >> /opt/cron.log
echo "传输完成时间$b" >> /opt/cron.log
#判断传输完成时间是否大于等于任务计划时间
if [ $b -ge $a ];then
#增加1个小时
c=`/usr/bin/expr $a + 1`
#修改任务计划文件
/bin/sed -i "s/$a/$c/g" /opt/cron.txt
#覆盖任务计划
/usr/bin/crontab /opt/cron.txt
echo "任务计划开始时间状态ERROR,变更小时为$c" >> /opt/cron.log
else
echo "任务计划开始时间状态OK,小时是$a" >> /opt/cron.log
fi
cron.txt内容如下:
#同步express的备份
10 0 * * * /opt/dts_rsync.sh &
#导入备份文件
01 7 * * * /opt/dts_input.sh &
#检查下载时间
01 */1 * * * /opt/cron.sh
#每周日清空日志记录
01 23 * * 0 /opt/clean_log.sh
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
百度网友80b4de3
2016-08-02 · 超过18用户采纳过TA的回答
知道答主
回答量:84
采纳率:100%
帮助的人:17.6万
展开全部
1 导出旧的crontab -l > oldcron
2 echo "* * * * * mynewcron" >> oldcron
3 导回去 crontab < oldcron
==
重点是你要理解crontab是怎么工作的:
man crontab
CRONTAB(1) Cronie Users’ Manual CRONTAB(1)

NAME
crontab - maintain crontab files for individual users

SYNOPSIS
crontab [-u user] file
crontab [-u user] [-l | -r | -e] [-i] [-s]

DESCRIPTION
Crontab is the program used to install, remove or list the tables used
to drive the cron(8) daemon. Each user can have their own crontab, and
though these are files in /var/spool/ , they are not intended to be
edited directly. For SELinux in mls mode can be even more crontabs -
for each range. For more see selinux(8).

The cron jobs could be allow or disallow for different users. For clas-
sical crontab there exists cron.allow and cron.deny files. If
cron.allow file exists, then you must be listed therein in order to be
allowed to use this command. If the cron.allow file does not exist but
the cron.deny file does exist, then you must not be listed in the
cron.deny file in order to use this command. If neither of these files
exists, only the super user will be allowed to use this command.
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
foce123
2016-12-21 · 超过12用户采纳过TA的回答
知道答主
回答量:71
采纳率:83%
帮助的人:9.2万
展开全部
crontab -e      #编辑计划任务
* * * * *     /root/1.sh       # *从左到右分别代表分时天月周
20 13 * * *   /root/1.sh       # 每天13点20执行 1.sh
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
出门在外_1
2016-07-30 · TA获得超过1.2万个赞
知道大有可为答主
回答量:1.4万
采纳率:76%
帮助的人:5918万
展开全部
crontab -e
0 0 1 * * /root/example.sh

/etc/init.d/crond restart
本回答被提问者和网友采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 更多回答(3)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式