linux 定时任务配置
linux的定时的配置文件的路径/var/spool/cron/。 这个下面一般会存放一些以用户名为文件名的定时器配置文件,功能不言而喻就是为不同的用户配置定时器。
root用户的定时任务配置文件是/var/spool/cron/root
1 定时任务的基本操作
a、crontab -e : 修改 crontab 文件. 如果文件不存在会自动创建。
b、crontab -l : 显示 crontab 文件。
c、crontab -r : 删除 crontab 文件。
d、crontab -ir : 删除 crontab 文件前提醒用户。
2 cron文件定时表达式语法:
分 小时 日 月 星期 命令
0-59 0-23 1-31 1-12 0-6 command (取值范围,0表示周日一般一行对应一个任务)
“*”代表取值范围内的数字,
“/”代表”每”,
“-”代表从某个数字到某个数字,
“,”分开几个离散的数字
3.定时服务的操作
/sbin/service crond start //启动服务
/sbin/service crond stop //关闭服务
/sbin/service crond restart //重启服务
/sbin/service crond reload //重新载入配置
4. Crontab使用实例
1.每天 02:00 执行任务
0 2 * * * /bin/sh backup.sh
2.每天 5:00和17:00执行任务
0 5,17 * * * /scripts/script.sh
3.每分钟执行一次任务
* * * * * /scripts/script.sh
4.每周日 17:00 执行任务
0 17 * * sun /scripts/script.sh
5.每 10min 执行一次任务
*/10 * * * * /scripts/monitor.sh
6.在特定的某几个月执行任务
* * * jan,may,aug * /script/script.sh
7.在特定的某几天执行任务
0 17 * * sun,fri /script/scripy.sh
在每周五、周日的17点执行任务
8.在某个月的第一个周日执行任务
0 2 * * sun [ $(date +%d) -le 07 ] && /script/script.sh
9.每四个小时执行一个任务
0 */4 * * * /scripts/script.sh
10.每周一、周日执行任务
0 4,17 * * sun,mon /scripts/script.sh
11.每个30秒执行一次任务
我们没有办法直接通过上诉类似的例子去执行,因为最小的是1min。但是我们可以通过如下的方法。
* * * * * /scripts/script.sh
* * * * * sleep 30; /scripts/script.sh
12.多个任务在一条命令中配置
* * * * * /scripts/script.sh; /scripts/scrit2.sh
13.每年执行一次任务
@yearly /scripts/script.sh
@yearly 类似于“0 0 1 1 *”。它会在每年的第一分钟内执行,通常我们可以用这个发送新年的问候。
14.系统重启时执行
@reboot /scripts/script.sh
定时器的常用几个应用操作
Linux 按时间批量删除文件(删除N天前文件)
实例:清理掉制定目录,7天之前的无效数据。
find /home/programs/solar-system/logs/nginx -mtime +7 -name "*.log" -exec rm -Rf {} \;
解释:
/home/programs/solar-system/logs/nginx :准备要进行清理的任意目录
-mtime:标准语句写法
+7:查找7天前的文件,这里用数字代表天数,+30表示查找30天前的文件
"*.*":希望查找的数据类型,"*.jpg"表示查找扩展名为jpg的所有文件,"*"表示查找所有文件
-exec:固定写法
rm -rf:强制删除文件,包括目录
{} \; :固定写法,一对大括号+空格+/+;