linux cron定时任务初级使用教程

linux cron定时任务初级使用教程

 

如何在Linux/Unix系统下定时运行任务(cron job)?

Cron是用来在某个周期定时运行命令或程序的,让你设置在某个时期运行某个命令或程序,Cron可以说是Linux/Unix上最有用的工具。 Cron属于守护程序,在后台持续不断地检查/etc/crontab file, /etc/cron.*/ 以及/var/spool/cron/ 目录的下的配置文件来确定某个时期运行某个程序或命令。

而crontab的则是用来安装,移除和列出cron任务的工具。每个用户都有自己独立的crontab配置文件,这些配置文件都位于/var/spool/cron/crontabs下面,但一般不能直接对其进行编辑。如果要添加修改任务可以用crontab命令来操作。

各种cron配置文件
不同的cron配置文件:

UNIX/Linux的系统crontab: 一般为系统服务或其它需要root权限的程序所用,第六领域为运行命令或程序的用户名。因此,系统crontab可以以任何用户的身份运行命令。
1. 用户crontabs: 用户可以用crontab命令设置自己的cron任务, 但第六领域为要运行的命令,而且所有命令都只能以该用户身份运行。

如何设置cron任务

输入下面的命令编辑cron配置文件:

$ crontab -e

crontab的语法 (Field Description)

下面是cron任务的格式:

1 2 3 4 5 /path/to/command arg1 arg2

或者

1 2 3 4 5 /root/backup.sh

各个域的意义:

1: 分钟 (0-59)
2: 小时 (0-23)
3: 日期 (0-31)
4: 月份 (0-12 [12 == December])
5: 星期几(0-7 [7 or 0 == sunday])
/path/to/command - 要运行的命令或程序

形象点的格式:

* * * * * 要运行的命令
- - - - -
| | | | | ----- 星期几 (0 - 7) (周日=0 或者 7)
| | | | ------- 月份 (1 - 12)
| | | --------- 日期 (1 - 31)
| | ----------- 小时 (0 - 23)
|------------- 分钟 (0 - 59)

系统crontab的格式像下面这样的:

1 2 3 4 5 用户名 /path/to/command arg1 arg2
OR
1 2 3 4 5 用户名 /path/to/script.sh

例子详解:周期性运行备份脚本。

如果你想每天0点运行/root/backup.sh这个脚本,那crontab的配置应该像下面那样。首先在控制器输入crontab -e

# crontab -e

然后加上下面的内容:

0 3 * * * /root/backup.sh
保存退出。

更多例子:
第天零点过五分运行/root/command命令:

5 0 * * * /root/command

每月第一天的下午2.15分运行/root/script.sh:

15 14 1 * * /root/script.sh

工作日的每天下午10点运行/scripts/sync.sh:

0 22 * * 1-5 /scripts/sync.sh

第天的零点23分,凌晨2点23分,凌晨4点23分,6点23分…………,运行/root/download.sh:

23 0-23/2 * * * /root/download.sh

第周日的4点过7分运行/root/restart.sh

7 4 * * sun /root/restart.sh

posted on 2013-01-03 15:10  飞翔7758  阅读(525)  评论(0编辑  收藏  举报

导航