Linux定时任务的使用

  Linux下的定时任务,crontab是一个很是有用的命令(大部分的自动完成的工做都须要用到自动执行命令) php

  这里演示一个很是简单的定时任务设置。(用来作之后全部复杂的自动化工做的前提)。 前端

  先写个简单的用来测试的脚本(咱们定义其为cro.sh 主要就是把当前时间写入到一个1.txt文本里面) sql

  #!/bin/bash 数据库

  echo   `date`>>/home/test/1.txt vim

PS:在命令行里面执行命令须要``这样的格式,命令就会运行。 bash

而后能够切换到  测试

vim  /etc/crontab spa


 

用法在这个文件里已经有详细的说明  命令行

从左往右依次表明着 分  时 天 月 星期的控制 rest

若是是*/1则表明频率。

这里为了测试,我将其设置为 1分钟刷新自动运行一次。(固然这里直接写的时候,脚本没法自动直接运行,须要加上sh

编辑自动执行任务,则有:

Crontab -e (在看到的自动执行任务里,咱们加上sh   就是直接让sh运行cro.sh)


 

而后切换到前端  用crontab -l 查看当前的定时任务


 

能够看到自动执行任务已经添加完成,监测

tail -f 1.txt


 

能够看到当前已经开始正确的进行了记录。

若是没有自动重启任务:service crond restart(可用该命令对服务进行重启)

实用性自动任务增强实行脚本应用场景举例:

 

1.自动备份数据库(按照年月日进行备份指定的数据库到指定的目录)

#!/bin/bash

Mysqldump -uroot -proot test | gzip > /home/bak/test`date +%Y-%m-%d_%H%M%S`.sql.gz

将其保存为home/bak/baksql.sh

crontab -e

*  *  1 *  *  sh /home/bak/baksql.sh 

这样就完成了一天自动备份一次数据库test

 

2.检测hhvm脚本是否一直在自动运行

#!/bin/sh

#查全部的进程找到了hhvm 

process=`ps aux | grep hhvm | grep -v grep|wc -l`;

if [ "$process" -lt 1 ]; then

       /usr/local/bin/hhvm --mode daemon --user www --config /etc/hhvm/server.ini --config /etc/hhvm/php.ini --config /etc/hhvm/config.hdf

else

      echo "process hhvm exsits";

fi

相关文章
相关标签/搜索