centos和ubuntu下执行定时清除缓存的任务
cron是一个Linux下Ubuntu环境的定时执行工具(crond是centos环境下的),可以在无需人工干预的情况下运行作业。在Ubuntu中,cron是被默认安装并启动的。
一、定时服务cron
1.操作定时服务cron -- Ubuntu环境
查看cron状态
/etc/init.d/cron status
# or
service cron status
# or
systemctl status cron
开启cron
/etc/init.d/cron start
# or
service cron start
# or
systemctl start cron
关闭cron
/etc/init.d/cron stop
# or
service cron stop
# or
systemctl stop cron
重启cron
/etc/init.d/cron restart
# or
service cron restart
# or
systemctl restart cron
2.操作定时服务crond -- Centos环境
查看crond状态
service crond status
# or
systemctl status crond
开启crond
service crond start
# or
systemctl start crond
关闭crond
service crond stop
# or
systemctl stop crond
重启crond
service crond restart
# or
systemctl restart crond
二、crontab用法
crontab –e : 修改 crontab 文件,如果文件不存在会自动创建。
crontab –l : 显示 crontab 文件。
crontab -r : 删除 crontab 文件。
crontab -ir : 删除 crontab 文件前提醒用户。
三、编写定时任务
例子:定时每天8点,自动执行清空缓存的脚本cleanCache.sh,保存在/root目录下
方法一:
1.缓存脚本编写
#!/bin/bash
echo "开始清除缓存" >> /tmp/test.txt
sync #写入硬盘,防止数据丢失
sleep 10
echo 3 > /proc/sys/vm/drop_caches
注意:需要把cleanCache.sh变成可执行脚本
2.方法很简单,只需编辑下crontab文件就行了,这个文件里存放的就是cron要执行的命令,以及定时执行的时间
vi /etc/crontab
3.最后一行添加:
00 08 * * * root /root/cleanCache.sh
注意:此处我实际操作,发现在Ubuntu环境能操作成功,但是在centos环境无法成功执行定时任务。
方法二:
使用crontab来设置定时任务
1.执行以下命令,会打开一个文件
crontab -e
2.往文件中添加
00 08 * * * /root/cleanCache.sh
注意:此时不用加启动用户,执行crontab -e命令的时候,使用什么用户启动的,后面定时脚本就会以那个用户启动。
3.使用crontab -l就可以查看新建的定时任务

提醒:这里用方法一添加的定时任务,使用crontab -l没有显示定时任务,但是实际是生效的。
定时任务编写语法
1、crontab定时任务语法如下:
minute hour day month week user command #顺序:分 时 日 月 周 用户 命令
2、说明:
minute: 表示分钟,可以是从 0 到 59 之间的任何整数。
hour:表示小时,可以是从 0 到 23 之间的任何整数。
day:表示日期,可以是从 1 到 31 之间的任何整数。
month:表示月份,可以是从 1 到 12 之间的任何整数。
week:表示星期几,可以是从 0 到 7 之间的任何整数,这里的 0 或 7 代表星期日。
user:linux的用户身份,例如root,或者其他用户
command:要执行的命令,可以是系统命令,也可以是自己编写的脚本文件。
3、在以上各个字段中,还可以使用以下特殊字符:
星号(*):代表所有可能的值,例如 month 字段如果是星号,则表示在满足其它字段的制约条件后每月都执行该命令操作。
逗号(,):可以用逗号隔开的值指定一个列表范围,例如,“1,2,5,7,8,9”
中杠(-):可以用整数之间的中杠表示一个整数范围,例如“2-6”表示“2,3,4,5,6”
正斜线(/):可以用正斜线指定时间的间隔频率,例如“0-23/2”表示每两小时执行一次。同时正斜线可以和星号一起使用,\
例如*/10,如果用在 minute 字段,表示每十分钟执行一次。
浙公网安备 33010602011771号