Crontab定时任务详解及实践项目中的一个demo
技术  /  管理员 发布于 2020-09-07 18:27:24   232
crontab 定时任务
通过crontab 命令,我们可以在固定的间隔时间执行指定的系统指令或 shell script脚本。时间间隔的单位可以是分钟、小时、日、月、周及以上的任意组合。这个命令非常适合周期性的日志分析或数据备份等工作。
crontab的文件格式
分 时 日 月 星期 要运行的命令
第1列分钟0~59
第2列小时0~23(0表示子夜)
第3列日1~31
第4列月1~12
第5列星期0~7(0和7表示星期天)
第6列要运行的命令
例子:
* * * * * echo "hello" #每1分钟执行hello
3,15 * * * * myCommand #每小时第三分钟和第十五分钟执行
3,15 8-11 * * * myCommand# 在上午8点到11点的第3和第15分钟执行
3,15 8-11 */2 * * myCommand #每隔两天的上午8点到11点的第3和第15分钟执行
30 21 * * * /etc/init.d/smb restart #每晚的21:30重启smb
0 23 * * 6 /etc/init.d/smb restart #每星期六的晚上11 : 00 pm重启smb
添加计划任务
crontab -e
重启计划任务
service crond restart
查看计划任务日志文件
tail /var/log/cron
实践项目中的案例:
每天凌晨1点备份mysql数据库,存在/opt/mysqlbak/文件夹里面,文件名以xxx拼接日期,并且自动删除30天以前的备份文件。
1.在/opt/里面创建mysqlbak文件夹
2.在/opt/里面穿件计划任务脚本文件,blogbak.sh
[root@iz8vbcrus31oj2axurgpjyz ~]# cd /opt/
[root@iz8vbcrus31oj2axurgpjyz opt]# ll
total 16
-rwxrwxrwx 1 root root 290 May 6 17:33 blogbak.sh
drwxrwxrwx 2 root root 12288 Sep 7 01:00 mysqlbak
3.vi blogbak.sh
#!/bin/sh
user="root"
passwd="Qxxxx"
date=`date +%F`
#备份表
echo "1111" > /opt/mysqlbak/test$date.txt
/usr/local/mysql/bin/mysqldump -u$user -p$passwd blog > /opt/mysqlbak/blogbak$date.sql
#删除旧表30天前的
#find /opt/mysqlbak -mtime +30 -name "*.*" -exec rm -Rf {} \;
4.添加计划任务
crontab -e
* 1 * * * /opt/blogbak.sh
想要立马生效 直接重启计划任务
看看效果我的这个脚本已跑了个把月了
博主 在
国内用什么翻墙使用谷歌?上外网神器Ghelper插件详解中评论 @请教 小图标没有出现 重复检查步骤5,进去看看右下角是否开启..请教 在
国内用什么翻墙使用谷歌?上外网神器Ghelper插件详解中评论 你好,我也遇到了安装完右上角没有显示图标,也不能打开相关网页的问题,用的是谷歌浏..Test11 在
laravel查询构造器中whereNotKey,whereKey,firstWhere用法详解中评论 <script>alert(\test\)</script&g..博主 在
国内用什么翻墙使用谷歌?上外网神器Ghelper插件详解中评论 @西瓜: 每一步都操作完达到效果了吗? 对了是用谷歌浏览器吧..西瓜 在
国内用什么翻墙使用谷歌?上外网神器Ghelper插件详解中评论 你好 我安装完右上角没有显示图标,也不能打开相关网页,是怎么回事呢?..Auther ·HouTiZong© 2009-2020 zongscan.com 版权所有ICP证:
粤ICP备20027696号
也可以扫右边的二维码