参考链接:1、http://xingyunbaijunwei.blog.163.com/blog/static/76538067201341294014683/
2、https://blog.csdn.net/fdipzone/article/details/22701113
1、ununtu 通过调用 run-parts 命令,定时运行四个目录下的所有脚本。
1)/etc/cron.hourly,目录下的脚本会每个小时让执行一次,在每小时的17分钟时运行;
2)/etc/cron.daily,目录下的脚本会每天让执行一次,在每天的6点25分时运行;
3)/etc/cron.weekly,目录下的脚本会每周让执行一次,在每周第七天的6点47分时运行;
4)/etc/cron.mouthly,目录下的脚本会每月让执行一次,在每月1号的6点52分时运行;
2. cron 服务的启动与停止
在Ubuntu 9.10下,cron是被默认安装并启动的。而 ubuntu 下启动,停止与重启cron,均是通过调用/etc/init.d/中的脚本进行。命令如下:1)/sbin/service crond start // 启动服务
2)/sbin/service crond stop // 关闭服务
3)/sbin/service crond restart // 重启服务
4)/sbin/service crond reload // 重新载入配置
可以通过以下命令查看cron是否在运行(如果在运行,则会返回一个进程ID):
# pgrep cron
3. crontab
crontab 命令用于安装、删除或者列出用于驱动cron后台进程的表格。也就是说,用户把需要执行的命令序列放到crontab文件中以获得执行,每个用户都可以有自己的crontab文件。以下是这个命令的一些参数与说明:
1)crontab -u // 设定某个用户的cron服务
2)crontab -l // 列出某个用户cron服务的详细内容
3)crontab -r // 删除没个用户的cron服务
4)crontab -e // 编辑某个用户的cron服务
基本格式 :
* * * * * command
分 时 日 月 周 命令
第1列表示分钟1~59 每分钟用*或者 */1表示
第2列表示小时1~23(0表示0点)
第3列表示日期1~31
第4列表示月份1~12
第5列标识号星期0~6(0表示星期天)
第6列要运行的命令
crontab范例每五分钟执行 */5 * * * *
每小时执行 0 * * * *
每天执行 0 0 * * *
每周执行 0 0 * * 0
每月执行 0 0 1 * *
每年执行 0 0 1 1 *
设定cron的权限
/etc/cron.allow
/etc/cron.deny
系统首先判断是否有cron.allow这个文件,如果有这个文件的话,系统会判断这个使用者有没有在cron.allow的名单里面,如果在名单里面的话,就可以使用cron机制。如果这个使用者没有在cron.allow名单里面的话,就不能使用cron机制。
如果系统里面没有cron.allow这个文件的话,系统会再判断是否有cron.deny这个文件,如果有cron.deny这个文件的话,就会判断这个使用者有没有在cron.deny这个名单里面,如果这个使用者在cron.deny名单里面的话,将不能使用cron机制。如果这个使用者没有在cron.deny这个名单里面的话就可以使用cron机制。
如果系统里这两个文件都没有的话,就可以使用cron机制