1. 创建shell
touch /home/renhuan/text/bin/auto-del-1-days-ago-log.sh
chmod +x auto-del-1-days-ago-log.sh`
新建一个可执行文件auto-del-1-days-ago-log.sh,并分配可运行权限
2. 编辑shell脚本:
vi auto-del-1-days-ago-log.sh
编辑auto-del-1-days-ago-log.sh文件如下:
#!/bin/sh
filepath=$(cd "$(dirname "$0")"; pwd)
find /opt/soft/log/ -mtime +1 -name "*.log" -exec rm -rf {} \;
echo `date +%Y-%m-%d/%H:%M:%S`' clear all out log ...' >> $filepath/rm_log.log;
ok,保存退出(:wq)。
备注:
-mtime +n n天前
-mmin +n n分钟前
crontab -e
或vim /var/spool/cron/用户
将auto-del-1-days-ago-log.sh执行脚本加入到系统计划任务,到点自动执行
输入:
10 10 * * * /home/renhuan/text/bin/auto-del-1-days-ago-log.sh
配置说明
*(分) *(时) *(天) *(月) *(星期)
这里的设置是每天10点10分执行auto-del-1-days-ago-log.sh文件进行数据清理任务了。
* * * * * sleep 50;
每50秒执行一次
0 */2 * * *
每隔两小时
0 23-7/2,8 * * *
晚上11点到早上8点之间每两个小时,早上8点
每五分钟执行 /5 * * *
每小时执行 0 * * * *
每天执行 0 0 * * *
每周执行 0 0 * * 0
每月执行 0 0 1 * *
每年执行 0 0 1 1 *
cron可以让系统在指定的时间,去执行某个指定的工作,我们可以使用crontab指令来管理cron机制
-u: 这个参数可以让我们去编辑其他人的crontab,如果没有加上这个参数的话就会开启自己的crontab
crontab -u 使用者名称
-l: 可以列出crontab的内容
-r: 可以移除crontab
-e: 可以使用系统预设的编辑器,开启crontab
-i: 可以移除crontab,会跳出系统信息让你再次确定是否移除crontab
minute(分)可以设置0-59分
hour(小时)可以设置0-23小时
day of month(日期)可以设置1-31号
month(月份):可以设置1-12月
day of week(星期):可以设置0-7星期几,其中0和7都代表星期天,或者我们也可以使用名称来表示星期天到星期一,例如sun表示星期天,mon表示星期一等等
1-3表示123
1-9/2表示13579
每五分钟执行 /5 * * *
每小时执行 0 * * * *
每天执行 0 0 * * *
每周执行 0 0 * * 0
每月执行 0 0 1 * *
每年执行 0 0 1 1 *
/etc/cron.allow
/etc/cron.deny
备注:cron在3个地方查找配置文件:
1、/var/spool/cron/ 这个目录下存放的是每个用户包括root的crontab任务,每个任务以创建者的名字命名,比如falcon建的crontab任务对应的文件就是/var/spool/cron/falcon。
一般一个用户最多只有一个crontab文件。
2、/etc/crontab 这个文件负责安排由系统管理员制定的维护系统以及其他任务的crontab。**
3、/etc/cron.d/ 这个目录用来存放任何要执行的crontab文件或脚本。**
本文部分转自:https://blog.csdn.net/csdn265/article/details/51569669