Linux计划任务

at

at -f time job

time :

HH:MM[YY-mm-dd]

moon,midnight,tommorrow,now + #[min,hours,seconds]

例子

at now +1 minutes -f test1.txt

atq查看当前的任务队列

crond定时任务

Linux上非常多的计划任务使用crond方式,crond服务开机自启,用户可以用crontab来自定义计划

注意,使用date查看自己系统当前的时间是否一致,如不一致,可以使用date -s 进行修改,修改后使用clock -w保存

/etc/crontab
SHELL=/bin/bash
PATH=/sbin:/bin:/usr/sbin:/usr/bin
MAILTO=root

# For details see man 4 crontabs

# Example of job definition:
# .---------------- minute (0 - 59)
# |  .------------- hour (0 - 23)
# |  |  .---------- day of month (1 - 31)
# |  |  |  .------- month (1 - 12) OR jan,feb,mar,apr ...
# |  |  |  |  .---- day of week (0 - 6) (Sunday=0 or 7) OR sun,mon,tue,wed,thu,fri,sat
# |  |  |  |  |
# *  *  *  *  * user-name  command to be executed
分钟 小时 日 月 星期 用户 任务


使用*表示“每”

1: root用户在每天晚上9.30执行指定任务
30 21 * * * root echo "hello"

2:root用户在每周一周五晚上8点执行执行任务

0 20 * * mon,fri root echo "hello"

3:zhangsan用户在每个月1-9晚上8点执行任务

0 20 1-9 * * zhangsan echo "到点了"

使用/#表示指定步长

* */3 * * * zhangsan echo.sh         # 每3小时执行一次
crontab -e 创建新的计划
-r 移除任务
-l 列出任务列表
-u 指定执行用户


只保留7天内的日志(使用计划任务在每天0点删除7天前的日志即可)
* * * * * find /var/log/java/*.log -atime 7 -delete | -exec rm -rf {}\;

-exec rm -rf {} + 用于对搜索到的文件执行相应的操作,其中{}表示搜索到的文件路径。{}后面可以接空格加号或空格反斜线分号。

备份: 备份指定数据/mydata/
10 0 * * * tar -czxf /backup/mydata.zip.tar /mydata/ 

标签: none

评论已关闭