9_Cron命令相关用法
Cron命令相关用法
-
本文将讨论Cron,它是在linux管理中最实用的程序之一,它允许你在特定的时间安排命令和任务,也叫Corn作业。
Corn作为守护进程运行,用于执行重复性任务,比如备份、监视磁盘空间使用、使用最新的应用程序版本更新系统、发送电子邮件和轮换日志等等。我认为没有不运行几个Corn任务的linux服务器。
crontab一词具有三种不同的含义:包含用户cron作业的文本文件被称为用户的
crontab
,每个用户都有这样一个文件,在Ubuntu上,这些文件位于/var/spool/cron/crontabs,只有root用户可以访问这些目录。还有一个叫
crontab
的命令用来管理指定用户,这些文件位于/var/spool/cron/的子目录中。不建议手动编辑他们,建议改用crontab
命令,这将使用您首选或默认的文本编辑器打开文件,并在退出时验证文件的结构。显示crontab文件的内容可用:
crontab -l
一开始,用户没有crontab编辑,编辑当前用户的crontab文件,运行:
crontab -e # -e = edit
如果没有默认值,系统会提示你选择一些编辑器。
在打开的文件中,你可以编辑你想安排的任务。举个例子,你想在每天6a.m运行一个backup脚本,所以可以在该文件中编辑:
0 6 * * * /root/backup.sh #该行由六个字段组成,每个字段之间用空格隔开,从前到后依次是 minute hour dayofmonth month dayofweek command。注意hour是以24小时为计数的,dayofweek范围是0-7,星期日可以用0或7表示。
还比如你想安排一个每分钟监视磁盘空间使用的任务:
* * * * * /root/check_space.sh
还比如你想在凌晨4点、6点和10点运行任务,所以分钟为零,在各个时间点之间加逗号:
0 4,6,10 * * * /root/check_space.sh
还比如你希望任务在工作日的晚上9点至5点之间运行,每小时一次:
0 9-17 * * 1-5 /root/firewall.sh
还比如你希望在固定的时间间隔内执行某任,比如每隔三天在4点和21点运行一次任务:
0 4,21 * */3 * /root/task.sh
还有几个cron宏用于指定最常用的间隔:
比如每年或者每年将在1月1日午夜运行一次指定的命令/每个月
@yearly /root/happy_new_year @monthly /root/task.sh @weekly /root/task.sh @daily /root/path_to_script.sh @hourly /root/path_to_script.sh @reboot /root/firewall.sh
比武我想