• 喜欢前端以及PHP的朋友们可以加PHP同好会QQ群 点击加入qq群
  • 最近在写一个项目---"小A微信托管平台",大家可以去帮忙测试一下!功能在不断完善中,敬请关注!点击进入
  • 本站使用了PHP8.1与HTTP2.0协议,速度简直超级快有木有?

Linux定时任务详解

Linux Mr.Adam 9年前 (2016-10-14) 2312次浏览 已收录 0个评论

Linux 定时任务详解

Linux 定时任务详解

如果我们需要定时执行一些周期性重复性的任务,我们就会用到定时执行任务功能来帮我们自动执行每天、每周等周期性重复性的任务而不需要人为干预即可实现。

如果需要添加一个定时任务,以下任务可以进入定时任务编辑状态

crontab -e

定时任务格式:分时日月周

2 1 * * * aaa #代表每天 1:02 分执行 aaa 命令
*/2 * * * aaa #代表每 2 分钟执行 aaa 命令
0 3 * * 0 command #每周日凌晨 3 点执行
0 3 1 */1 * command #每月的第一天凌晨 3 点执行

定时任务执行后会输出:

You have new mail in /var/spool/mail/root 

执行结果会被发到 root 的邮件里,如果不想收到定时任务的信息
可以把输出重定向

2 1 * * * aaa > /dev/null 2>&1

OK,定时任务介绍完了,我们来写一个每天凌晨 3 点将 mysql 其中一个库导出到文件,并且以时间来命名的脚本吧!
脚本名称 bak.sh

#!/bin/bash
#自动备份 roof 库,且把 7 天前的备份删除
tod=`date -d +%Y%m%d`
/usr/local/mysql/bin/mysqldump roof > /root/roof.sql
zip /root/$tod.zip /root/roof.sql
rm -rf /root/roof.sql
old=`date -d '-7 day' +%Y%m%d`
if [ -f /root/$old.zip ]
then
  rm -rf /root/$old.zip
fi

然后我们给该脚本执行的权限

chmod u+x bak.sh

接下来我们去编辑定时任务

crontab -e
0 3 * * * /root/bak.sh > /dev/null 2>&1

这样我们的定时任务就设置好了,系统将在每天的凌晨 3 点将数据库自动备份,压缩


小 A 空间 , 版权所有丨如未注明转载 , 均为原创丨本网站采用BY-NC-SA协议进行授权 , 转载请注明Linux 定时任务详解
喜欢 (3)
发表我的评论
取消评论
表情 贴图 加粗 删除线 居中 斜体 签到

Hi,您需要填写昵称和邮箱!

  • 昵称 (必填)
  • 邮箱 (必填)
  • 网址