Linux——Crontab使用详解
名称 : crontab
使用权限 : 所有使用者
使用方式 :
crontab file [-u user]-用指定的文件替代目前的crontab。
crontab-[-u user]-用标准输入替代目前的crontab.
crontab-1[user]-列出用户目前的crontab.
crontab-e[user]-编辑用户目前的crontab.
crontab-d[user]-删除用户目前的crontab.
crontab-c dir- 指定crontab的目录。
crontab文件的格式:M H D m d cmd.
名称 : crontab
使用权限 : 所有使用者
使用方式 :
crontab file [-u user]-用指定的文件替代目前的crontab。
crontab-[-u user]-用标准输入替代目前的crontab.
crontab-1[user]-列出用户目前的crontab.
crontab-e[user]-编辑用户目前的crontab.
crontab-d[user]-删除用户目前的crontab.
crontab-c dir- 指定crontab的目录。
crontab文件的格式:M H D m d cmd.
可以使用:01 10 * * * date >> /tmp/josh_data.txt 来判断crontab是否运行着。
M: 分钟(0-59)。
H:小时(0-23)。
D:天(1-31)。
m: 月(1-12)。
d: 一星期内的天(0~6,0为星期天)。
cmd要运行的程序,程序被送入sh执行,这个shell只有USER,HOME,SHELL这三个环境变量
说明 :
crontab 是用来让使用者在固定时间或固定间隔执行程序之用,换句话说,也就是类似使用者的时程表。-u user 是指设定指定 user 的时程表,这个前提是你必须要有其权限(比如说是 root)才能够指定他人的时程表。如果不使用 -u user 的话,就是表示设定自己的时程表。
H:小时(0-23)。
D:天(1-31)。
m: 月(1-12)。
d: 一星期内的天(0~6,0为星期天)。
cmd要运行的程序,程序被送入sh执行,这个shell只有USER,HOME,SHELL这三个环境变量
说明 :
crontab 是用来让使用者在固定时间或固定间隔执行程序之用,换句话说,也就是类似使用者的时程表。-u user 是指设定指定 user 的时程表,这个前提是你必须要有其权限(比如说是 root)才能够指定他人的时程表。如果不使用 -u user 的话,就是表示设定自己的时程表。
参数 :
crontab -e : 执行文字编辑器来设定时程表,内定的文字编辑器是 VI,如果你想用别的文字编辑器,则请先设定 VISUAL 环境变数来指定使用那个文字编辑器(比如说 setenv VISUAL joe)
crontab -r : 删除目前的时程表
crontab -l : 列出目前的时程表
crontab file [-u user]-用指定的文件替代目前的crontab。
时程表的格式如下 :
f1 f2 f3 f4 f5 program
其中 f1 是表示分钟,f2 表示小时,f3 表示一个月份中的第几日,f4 表示月份,f5 表示一个星期中的第几天。program 表示要执行的程序。
当 f1 为 * 时表示每分钟都要执行 program,f2 为 * 时表示每小时都要执行程序,其馀类推
当 f1 为 a-b 时表示从第 a 分钟到第 b 分钟这段时间内要执行,f2 为 a-b 时表示从第 a 到第 b 小时都要执行,其馀类推
当 f1 为 */n 时表示每 n 分钟个时间间隔执行一次,f2 为 */n 表示每 n 小时个时间间隔执行一次,其馀类推
当 f1 为 a, b, c,... 时表示第 a, b, c,... 分钟要执行,f2 为 a, b, c,... 时表示第 a, b, c...个小时要执行,其馀类推
使用者也可以将所有的设定先存放在档案 file 中,用 crontab file 的方式来设定时程表。
例子 :
#每天早上7点执行一次 /bin/ls :
0 7 * * * /bin/ls
在 12 月内, 每天的早上 6 点到 12 点中,每隔3个小时执行一次 /usr/bin/backup :
0/3 6-12 * 12 * /usr/bin/backup
周一到周五每天下午 5:00 寄一封信给 alex@domain.name :
0 17 * * 1-5 mail -s "hi" alex@domain.name < /tmp/maildata
每月每天的午夜 0 点 20 分, 2 点 20 分, 4 点 20 分....执行 echo "haha"
20 0-23/2 * * * echo "haha"
注意 :
当程序在你所指定的时间执行后,系统会寄一封信给你,显示该程序执行的内容,若是你不希望收到这样的信,请在每一行空一格之后加上 > /dev/null 2>&1 即可
例子2 :
#每天早上6点10分
10 6 * * * date
#每两个小时
0 */2 * * * date
#晚上11点到早上8点之间每两个小时,早上8点
0 23-7/2,8 * * * date
#每个月的4号和每个礼拜的礼拜一到礼拜三的早上11点
0 11 4 * mon-wed date
#1月份日早上4点
0 4 1 jan * date
#每天早上6点10分
10 6 * * * date
#每两个小时
0 */2 * * * date
#晚上11点到早上8点之间每两个小时,早上8点
0 23-7/2,8 * * * date
#每个月的4号和每个礼拜的礼拜一到礼拜三的早上11点
0 11 4 * mon-wed date
#1月份日早上4点
0 4 1 jan * date
范例
$crontab -l 列出用户目前的crontab.
启动crontab: 法2
# uname -a (Linux查看版本当前操作系统内核信息)
查看crontab服务状态:service cron status
ps -ef | grep cms_sync 查看cms_sync这个cron job是否已经启动。cron可能在running,但是cms_sync这个cron job还没有到时间启动。
ps -ef | grep cms_sync 查看cms_sync这个cron job是否已经启动。cron可能在running,但是cms_sync这个cron job还没有到时间启动。
需要注意的是:
在执行service cron status的时候,可能会发现这样的错误:
Failed to connect to socket /var/run/dbus/system_bus_socket: No such file or directory
解决安装系统间用来进行消息传递的dbus:
1、sudo apt-get install dbus
2、启动dbus:sudo /etc/init.d/dbus start, ubantu会提示使用service dbus start来进行启动,于是使用
service dbus start来启动即可。
然后再运行service cron start,service cron status即可正确执行。
首先要启动cron,如果cron启动后,可以直接修改cron,一般情况下,不需要restrat,修改即可生效,如果当前用户(opscoder)没有权限启动,即没有service命令,可以切换到可以启动的用户下启动后(如swang6),再切回opscoder进行cron的修改。这是因为swang6具有sudo权限,可以
sudo service cron status sudo service cron start.
1.在系统中有service这个命令时:
这个命令在red hat当中常用,有的linux发行版本中没有这个命令。
1.在系统中有service这个命令时:
这个命令在red hat当中常用,有的linux发行版本中没有这个命令。
$ service cron start //启动服务
$ service cron stop //关闭服务
$ service cron restart //重启服务
2.linux发行版本没有service这个命令时:
/etc/init.d/cron stop
/etc/init.d/cron start
$ service cron stop //关闭服务
$ service cron restart //重启服务
2.linux发行版本没有service这个命令时:
/etc/init.d/cron stop
/etc/init.d/cron start
3、 chkconfig --level 35 crond on 系统启动时自动运行。
4、ntsysv中设置系
相关推荐
linux crontab 详解,共享快乐
crontab是linux下最最常用的定时任务,本文档详细介绍了使用方法,供参考
linux C7 crontab离线安装包
Linux crontab 命令格式与详细例子
crontab命令的功能是在一定的时间间隔调度一些命令的执行。
下面小编就为大家带来一篇linux crontab 实现每秒执行的实例。小编觉得挺不错的,现在就分享给大家,也给大家做个参考。一起跟随小编过来看看吧
Linux crontab 命令格式.docx
linuxcrontab定时触发命令.pdf
linux Crontab 使用基础教程.docx
Linux定时脚本crontab中文乱码.docx
主要介绍了Linux Crontab 获取环境变量的配置实例解析,需要的朋友可以参考下
主要介绍了Linux crontab 命令格式与详细示例(推荐),需要的朋友可以参考下
NULL 博文链接:https://caoyaojun1988-163-com.iteye.com/blog/1698192
命令可以正常 执行,但sh文件不能执行分析
Linux crontab 命令 Linux crontab是用来定期执行程序的命令。 当安装完成操作系统之后,默认便会启动此任务调度命令。 crond 命令每分锺会定期检查是否有要执行的工作,如果有要执行的工作便会自动执行该工作。 ...
NULL 博文链接:https://lindows.iteye.com/blog/459417