Linux crontab计划任务应用

1.计划任务应用
1.at:在指定时间执行指定的命令,执行完就从系统中取消该命令。 cron:在指定时间周期性的执行指定的命令。

注意:如果在要执行命令的那个时间,系统处于关机状态,那么该命令将在系统处于开机状态的下一个同样的时间执行此命令。比如∶用户要执行命令的时间是17:20,而发出at命令的时间是早上,那么系统究竟是在哪一天执行该命令呢?如果用户在17:20仍然在工作,那么该命令将在这个时候完成,如果用户17:20以前就关机了,那么该命令将在次日17:20执行(条件是系统必须开机);如用cron命令呢??

 

2.at

1.命令:

at//设置任务

atq //查看目前的任务

atrm //删除设定的任务

语法: #at[-选项]时间格式//设置任务

#atq //查看目前的任务

#atrm [number] //删除设定的任务

选项: m : at 的工作完成后,会发email 给该用户。 时间格式主要有以下几种: HH:MM在今天的 HH:MM 执行,若该时刻已超过,则明天HH:MM执行此工作。 例:#at12:00 HH:MM YYYY-MM-DD在某年某月的某一天某时刻执行该工作!

例:#at12:00 2006-12-30 HH:MM + number [minutes|hours|days|weeks] 就是說,在某个时间加上定义的时间之后执行。


例: #at 12:00 + 1 days 2006-12-30

在输入at之后,就进入命令输入模式,这里你可以重复输入命令,退出的时候ctrl+D,就可以离开了。 at12:00shutdown –h 0//今天的12点执行关机命令。

#at12:00 2006-12-30 tar czvf /dump/workdump.tar.gz/work/* // 2006-12-30 12:00对/work目录下文件进行打包压缩

#at 12:00 + 1 days 2006-12-30 rm –rf/work/ // 2006-12-31 12:00删除/work目录

3.cron

1.cron:周期性的执行任务 语法: crontab [–选项]

选项

-u:只有root能执行的选项,指定一个用户名

-l:列出crontab的内容

-e:编辑crontab的内容

-r删除

 

crontab的内容 servicecrondstart //启动服务

#servicecrondrestart //重新启动服务

#servicecrondstop //停止服务

输入crontab –e 时,会自动打开VI画面,编辑文本的格式为:五个不同时间命令。

五个不同时间如下表:

59 23 1 5 * 每年五月一日23点59分

30 16 * * 6 每周六16点半执行 *号,代表所有时间都适用

例: 每月1日12:00对系统日志进行备份 0 12 1 * * tar czvf /back/system.tgz /var/log/* crontab是用户使用的 系统任务就不必运行crontab命令了 可以直接编辑/etc/crontab,

01 * * * * root run-parts /etc/cron.hourly 5个时间后面接的是root,代表的是执行的身份为root用户。 run-parts代表后面接的/etc/cron.hourly是一个目录内的所有可执行文件,(你可以到/etc目录下看看,系统本来就预设几个目录)也可以将每天要执行的命令直接写到/etc/cron.daily就行,就不需要使用crontab –e 。 建立一个/root/runcron的目 录,将要每隔5分钟执行的可执行文件放到该目录下,再在/etc/crontab文件中加 */5 * * * * root run-parts /root/runcron 就可以让系统每5分钟执行一次该目录下的所有可执行文件。

 

注意:在linux底下的crontab每分钟会自动读取一次/etc/crontab的工作,由于crontab是读到内存中的,所以在你修改完/etc/crontab之后,可能并不会马上执行,这时候要重新启动cron服务: #service crond restart

相关推荐