美文网首页
Ruby&Rails---Ubuntu使用crontab定时任务

Ruby&Rails---Ubuntu使用crontab定时任务

作者: HPD_黄霹雳 | 来源:发表于2018-01-17 16:08 被阅读0次

    使用crontab做定时任务,例子是重启rails项目服务器

    先介绍常用的命令

    定制任务

    crontab -e
    

    列出任务

    crontab -l
    

    开启

    sudo /etc/init.d/cron start
    

    关闭

    sudo /etc/init.d/cron stop 
    

    重启

    sudo /etc/init.d/cron restart
    

    重新载入配置

    sudo /etc/init.d/cron reload 
    
    步骤1:编写需要定时执行的脚本文件 start.sh

    该文件我是放在工程根目录下

    #!/bin/bash
    . /etc/profile
    . ~/.bash_profile
    cd /home/hpd/productions/your_pro_name
    kill -9 $(lsof -t -i:3000)
    RAILS_ENV=production rake assets:precompile
    bin/rails s -e production
    sudo service nginx restart
    
    步骤2:编写定时任务

    输入 crontab -e,会出现如下图


    图片.png

    然后输入

    SHELL=/bin/bash
    * * * * * /home/hpd/productions/your_pro_name/start.sh
    
    * * * * * 的意思是每分钟执行一次。
    

    这边编写的规则详情可以看:http://blog.csdn.net/LOUISLIAOXH/article/details/48242289

    然后保存,退出。

    步骤3:启动定时任务
    重启:sudo /etc/init.d/cron restart 
    重新载入配置:sudo /etc/init.d/cron reload 
    

    到这边应该就已经可以了。

    遇到的问题

    手动执行.sh脚本文件是可以的,但是放到crontab上就不行了。这是因为crontab没有相应的环境。需要加上环境才行。如步骤1中的

    . /etc/profile
    . ~/.bash_profile
    

    详情可以看:http://blog.csdn.net/cy309173854/article/details/53186516

    相关文章

      网友评论

          本文标题:Ruby&Rails---Ubuntu使用crontab定时任务

          本文链接:https://www.haomeiwen.com/subject/tvduoxtx.html