Linux定时任务 crontab 命令
模板
在终端定时运行一个脚本,路径为/home/test.sh
,在终端中输入:
crontab -e
此时会进入vi编辑界面,具体写法模板如下:
# Use the hash sign to prefix a comment
# +---------------- minute (0 - 59)
# | +------------- hour (0 - 23)
# | | +---------- day of month (1 - 31)
# | | | +------- month (1 - 12)
# | | | | +---- day of week (0 - 7) (Sunday=0 or 7)
# | | | | |
# * * * * * command to be executed
#--------------------------------------------------------------------------
# Run my cron job every Sunday at 2:00am
0 2 * * 0 nohup /home/test.sh > /home/log/test.log 2>&1
corntab的语法
crontab [-u username] [-l|-e|-r]
选项与参数:
-u :只有 root 才能进行这个任务,设定某个用户的 crontab 服务
-e :编辑 crontab 的工作内容
-l :列出 crontab 服务的详细内容
-r :移除所有的 crontab 服务,若仅要移除一项,请用 -e 去编辑
特殊字符意义
特殊字符 | 代表意义 |
---|---|
*(星号) | 表示任意时刻。eg.「每个周末的凌晨两点执行一次任务」则可写成:0 2 * * 0 command |
,(逗号) | 表示分隔。eg. 如果要执行的时间是每天的 2:00 与 4:00 时,就会写成:0 2,4 * * * command 其中,参数还是只有五列,不过第二列是 2,4 ,代表2点与4点各执行一次! |
-(减号) | 表示一段时间范围。eg. 6 点到 8 点之间每小时的 30 分时执行一次任务,则可写成:30 6-8 * * * command |
/n(斜线) | 表示每 n 个单位执行一次任务,例如每五分钟执行一次,则是:*/5 * * * * command 用 */5 来表示,也可以写成 0-59/5 ! |