周期性/定时执行任务

180 阅读2分钟

crontab 命令

crontab是用来定期执行程序的命令。完成系统工作或者个别用户工作。
语法:
crontab [ -u user ] { -l | -r | -e }

参数功能
-u指定某个用户。默认是root用户
-e编辑某个用户的crontab
-r删除某个用户的crontab
-l列出某个用户的crontab

服务模式: service crond status
service crond strart
service crond stop
service crond restart

编辑文件:
crontab -e file

时间格式如下:
f1 f2 f3 f4 f5 program

其中 f1 是表示分钟 (0 - 59),f2 表示小时 (0 - 23),f3 表示一个月份中的第几天 (1 - 31),f4 表示月份(1 - 12),f5 表示一个星期中的第几天 (0 - 6) (星期天 为0)。program 表示要执行的程序。

当 f1 为 * 时表示每分钟都要执行 program,f2 为 * 时表示每小时都要执行程序,其余类推

当 f1 为 a-b 时表示从第 a 分钟到第 b 分钟这段时间内要执行,f2 为 a-b 时表示从第 a 到第 b 小时都要执行,其余类推

当 f1 为 */n 时表示每 n 分钟个时间间隔执行一次,f2 为 */n 表示每 n 小时个时间间隔执行一次,其余类推

当 f1 为 a, b, c,... 时表示第 a, b, c,... 分钟要执行,f2 为 a, b, c,... 时表示第 a, b, c...个小时要执行,其余类推

at命令(定时执行)

语法:at  [-f  file]  [-mldv]  TIME

功能:at命令可以让用户在指定时间执行某个程序或命令。

命令:

选项功能
  -d删除指定的定时命令
-f file读人预先写好的命令文件,用户可以不使用交互模式(不带-f选项)来输入命令,而是将所有的命令先写人文件file后再一次读入
-l列出所有的定时命令
-m定时命令执行完后将输出结果通过E-mail发给用户
-v列出所有已经完成但尚未删除的定时命令