在Linux下数据库中怎样设定一个时间自动执行一个shell脚本文件,例如:auto.sh

如题所述

第1个回答  推荐于2017-05-19
Linux数据库应该是无法执行shell脚本的,应该是Linux系统下执行shell脚本吧。
直接在linux下输入crontab -e,然后配置一段代码如下:
01 8 * * * /bin/bash path(你的文件目录)/auto.sh
前五位没记错的话应该分别对应分钟,小时,日,月,星期。
如果你希望保存日志的话可以用输出重定向,如下:
01 8 * * * /bin/bash path(你的文件目录)/auto.sh > /tmp/auto.log 2 > &1 &
这样如果文件执行错误的话,你可以去/tmp目录下去查询错误日志,便于程序的优化。
关于crontab的详细介绍给你个传送门:
http://www.jb51.net/LINUXjishu/19905.html
我也是菜鸟,共同学习共同进步,祝好。追问

我怎么运行呢?

追答

你不用运行,根据你的时间设置,它会自动运行的。比如你可以设置成你当前时间的5分钟后,然后你静静等待,到了时间,/tmp/auto.log里就会有输出结果了。如果你是更新数据库啥的,数据库就会更新了。

追问

可是我设定了我的shell还没运行啊

追答

知道了,你估计还没开启cron服务,你开启之后试一下看行不行。
启动cron服务:
/sbin/service crond start //启动服务
/sbin/service crond stop //关闭服务
/sbin/service crond restart //重启服务
/sbin/service crond reload //重新载入配置
如果希望开机启动:
在/etc/rc.d/rc.local这个脚本的末尾加上:
/sbin/service crond start

追问

是什么路径下运行呢?

追答

rm -f /etc/cron.d/FIFO删掉之后,再重新启动cron服务试一下。

追问

为什么要删除啊

本回答被网友采纳
相似回答