基础知识
#创建定时任务
crontab -e
#显示创建的定时任务
crontab -l
#删除创建的定时任务(所有)
#若要删除某一个任务,执行【crontab -e】,然后删除具体的某一个命令
crontab -r
cat /etc/crontab
![](https://i-blog.csdnimg.cn/blog_migrate/6b62cef69d90eeafe51a9b41f8b77c13.png)
#每天一点执行任务
* 1 * * *
#*:每个时间单位上执行
#每隔一小时执行任务
* */1 * * *
#/:以特定的时间间隔执行
#每天1点,19点执行任务
* 1,19 * * *
#,:指定多个时间执行
#每天1-8点执行任务
* 1-8 * * *
#-:在一个时间范围执行
【注意】几月几号与周几不能同时使用
#以下是错误写法
*/5 0-6 */5 1,12 6
授权普通用户使用crontab
切换root用户
添加权限
chmod u+w /etc/sudoers
打开/etc/sudoers,找到root ALL=(ALL) ALL,添加““XXX ALL=(ALL) ALL”即完成授权”
vim /etc/sudoers
![](https://i-blog.csdnimg.cn/blog_migrate/0f8d5e00d45b939d690e848f32dd1828.png)
然后执行以下命令
systemctl restart crond
su dog(用户名)
#密码是对应用户名的密码
sudo crontab -e
【若嫌密码输入麻烦,添加NOPASSWD】
dog ALL=(ALL) NOPASSWD:/usr/bin/crontab
定时清除日志脚本
清除日志脚本
find /root/demo2 -mtime +3 -name "*.log" -exec rm -rf {} \;
#删除2个小时前的文件
find /root/demo2 -mmin +120 -name "*.log" -exec rm -rf {} \;
-mtime +3:查找三天前的文件
-exec:固定写法
{} \:大括号 + 空格 + \
每隔3天在晚上9点删除日志
* 9 */3 * * find /root/demo2 -mtime +3 -name "*.log" -exec rm -rf {} \;
*/1 * */3 * * find /root/demo2 -mmin +1 -name "*.txt" -exec rm -rf {} \;