随笔记录
目录
1. 背景介绍
crontab命令是Unix和Linux用于设置周期性被执行的指令,是互联网常用的技术,很多任务都会设置在crontab循环执行。crontab命令可以精确到分(精确到秒的一般写脚本),相当于闹钟。
注意:
linux中的crontab 会每分钟自动重新读取一次 /etc/crontab 的例行工作事项,但是某些原因或者是其他的 Unix 系统中,由于 crontab 是读到内存当中的,所以在你修改完 /etc/crontab 之后,可能并不会马上运行, 这个时候请重新启动 crond 这个服务吧!可以执行/etc/init.d/crond restart 或 service crond restart命令
2. 参数介绍
2.1 语法:crontab <选项> file
# crontab <选项> file
root@localhost:/home/panda# crontab -l
13 9 * * 1-5 /bin/bash /data/testScript/test1_1_10_4.sh >> /data/testScript/tmp_11104.log
root@localhost:/home/panda#
# 参数说明:
-e:编辑某个用户的crontab文件内容。如果不指定用户,则表示编辑当前用户的crontab文件;
-l:显示某个用户的crontab文件内容,如果不指定用户,则表示显示当前用户的crontab文件内容;
-r:从/var/spool/cron目录中删除某个用户的crontab文件,如果不指定用户,则默认删除当前用户的crontab文件;
-u<用户名称>:指定要设定计时器的用户名称,例如,“-u haha”表示设定haha用户的crontab服务,此参数一般由root用户来运行;
-i 在删除用户的crontab文件时给确认提示。
-s (selinux context)
file是命令文件的名字,表示将file做为crontab的任务列表文件并载入crontab。如果在命令行中没有指定这个文件,crontab命令将接受标准输入(键盘)上键入的命令,并将它们载入crontab。
3. Crond 服务管理
默认情况系统并没有为我们启动 crond 服务,
1. 需要开机自启动:
/etc/rc.d/rc.local 中添加 service crond start 这一行
2. 其他的管理命令如下:
# 启动服务
/sbin/service crond start
# 关闭服务
/sbin/service crond stop
# 重启服务
/sbin/service crond restart
# 重新载入配置
/sbin/service crond reload