ubuntu下利用crontab自动运行ruby脚本

本文介绍了如何在Ubuntu系统中利用crontab每隔一分钟自动运行指定的Ruby脚本。通过创建test.sh和getcron文件,设置权限,并配置crontab,可以实现定时运行Rails项目的runner命令。此外,还提供了一个简单的测试案例,演示如何通过crontab执行GUI程序。需要注意的是,Ubuntu系统可能会因为用户和root权限的crontab设置导致命令重复执行,关闭时需使用sudo。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

需求:

每隔一分钟运行一次指定的ruby脚本

实现:

这里我们提供一份儿实验用代码 如果能调通 则我们就可以运行任何脚本了

实验代码如下:

新建test.sh文件

#!/usr/bin/env bash
source /home/duan/.rvm/environments/ruby-1.8.7-p371
cd /home/duan/aptanapro/remote
rails runner "Order.first"

第一行是必须有的 因为crontab的运行环境与shell或ruby的运行环境不同 导致就算是你单独运行文件成功了换到crontab环境下还是不工作的情况。

第二行指定ruby环境 这边是rvm路径 其实rvm官网上也给出了如何配合rvm使用crontab,有兴趣的可以看这里

第三行指定了我的rails地址,有一个名字为remote的rails项目 路径是/home/duan/aptanapro/

第四行运行rails runner命令 相当与在rails项目中运行命令了 命令内容为调用Order表的第一行


新建getcron文件

接着 咱们在与test.rb的同一文件夹下新建一个getcron文件,里面写上这样一句

* * * * *  /home/duan/test.sh > /home/duan/result.txt 2>&1
含义大家应该都清楚 每分钟执行一次test.sh文件 把结果输出到result.txt中 不要发邮件

权限

root用户和非root用户都可以执行crontab,不过有些命令是需要
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值