linux的crontab定时配置全过程

首先呢,我们知道crontab是在linux中用于设定在某些时间可以自动执行某些命令的功能。

在linux中使用crontab -e 可以直接到达编辑定时任务的界面。像编辑文本一样。编辑的是/var/spool/cron下对应用户的cron文件,也可以直接修改/etc/crontab文件。

我们先来看看标准的一条crontab配置是什么样的。

0 0 * * * /home/workspace/test/drop_cache.sh

而里面的语法是这样的:

  分钟     小时   天     月       天每星期       命令
 每个字段代表的含义如下:
 Minute             每个小时的第几分钟执行该任务
 Hour               每天的第几个小时执行该任务
 Day                 每月的第几天执行该任务
 Month             每年的第几个月执行该任务
 DayOfWeek     每周的第几天执行该任务

 Command       指定要执行的程序

所以上面的这个命令的意思就是在每天的零点零分的时候执行这个drop_cache.sh脚本。

我们再给一些例子

1 1,2 * * * reboot    其中的1,2代表每天的1点和2点的第一分钟的时候执行reboot命令,中间的逗号表示不同的时间点

1 1-3 * * * reboot    其中的1-3表示每天的1点到3点的第一分钟的时候执行reboot命令。“-”可以表示一个时间的范围

*/1 * * * * reboot     这里的*/1表示每隔一分钟就执行reboot命令了

那大概搞明白了以后,就可以开始了,我要做的是把要执行的sql语句写进脚本文件里面。因为我使用的是postgresql的数据库所以在这里的示例就是关于postgresql的了。

export PGPASSWORD="123456"
echo $PGPASSWORD

psql -U postgres -d databasename <<_EOT
update t_sys_name set name=1 where id=1;
_EOT

这里的databasename就是你的数据库的名称,上面的password也就是密码了。然后写好以后呢。我们保存为update.sh。放在某个目录下,然后crontab -e 编辑配置文件,加上:

*/5 * * * * /home/workspace/test/update.sh

然后保存退出。这个的意思就是每隔5分钟就执行一次这个update.sh脚本了。

crontab会自动重新加载配置。所以不需要重启,但是如果你想马上生效,也可以重启它,这里附上命令。

/sbin/service crond start //启动服务

/sbin/service crond stop //关闭服务

/sbin/service crond restart //重启服务

/sbin/service crond reload //重新载入配置

但是后面我还是发现没生效。结果是因为我没有对这个脚本文件进行权限的分配。

chomd 755 /home/workspace/test/update.sh

给了权限后,脚本就可以定时执行了。这里就是今天crontab的学习过程。希望对你有帮助。有问题欢迎留言!

  • 2
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值