对于一些经常做的事,又怕忘记了,可以将执行内容写在一脚本里,使用crontab来定制执行的时间
如果没有安装cron,请先安装上
cron为每一个用户提供了一个文件来管理用户需要定时执行的程序:
使用crontab提供的命令可以查得如下信息:
crontab [-l, -u, -e, -r, -i]
-l 列出系统当前用户设置的定时执行的程序:
$crontab -l
$no crontab for root //root用户并没有设置定时程序
-u 可以提定用户,如crontab -l -u cspark
-e 编辑配置文件,将内容写到
/var/spool/cron/crontabs/ 目录下(crontab files),根据不同的用户,以用户名来命名文件,将定时执行的程序写入到相应用户的目录下。
$crontab -e
设置执行时间与执行的程序
设置格式规定前五个字段是对时间的设定,后面是要执行的命令,可以是任何可执行的程序,给出全路径名。
前面五个字段可以用*号表示任意值,取值范围和含义如下:
引用: 分钟(0-59) 小时(0-23)日期(1-31)月份(1-12)星期(0-6)//0代表星期天
如:
每天早上6点
0 6 * * * echo "Good morning." >> /tmp/logfile //cron将程序执行过程中产生的输出以邮件的形式发给root用户的邮箱中。
每两个小时
0 */2 * * * echo "Have a break now." >> /tmp/logfile
早上0点到8点之间每两个小时
0 0-8/2,8 * * * command. (0,2,4,6,8)
每个月的10号和每个星期的星期天到星期二的早上6点
0 6 10 * 0-2 command
6月1日早上8点10分
10 8 1 6 * command
每个月的1-15日和每周五的4点半
30 4 1,15 * 5 command
-r 删除所有/var/spool/cron/crontabs/下的文件,将添加的定时执行程序执行任务取消。
-i 删除过程中用户给予确认。
详细信息可以查看帮助:
$info crontab
$man 1 crontab
$man 5 crontab