关于Ruby on Rails:为什么我的Cron工作不能正常工作?
Why Doesn't My Cron Job Work Properly?我在Ubuntu Hardy VPS上做了一份计划工作,只有一半可以工作,我不知道为什么。 该工作是一个Ruby脚本,它使用mysqldump备份Rails应用程序使用的MySQL数据库,然后将其压缩并使用SFTP上传到远程服务器。 gzip文件已成功创建并复制,但始终为零字节。 但是,如果我直接从命令行运行cron命令,它将运行完美。 这是cron工作:
这是datadump.rb:
我检查并仔细检查了所有路径,它们是正确的。 sftp.yml(SFTP凭据)和database.yml(MySQL凭据)均由具有该用户只读权限的执行用户(部署)拥有(chmod 400)。 我正在使用net-ssh和net-sftp的1.1.x版本。 我知道它们不是最新的,但是它们是我目前所熟悉的。 是什么导致cron作业失败? 如果脚本可以交互地正确运行,但不能由cron运行,则问题通常是由于环境环境设置适当,例如@Ted Percival提到的PATH路径,但可能是其他环境变量。 这是因为cron在执行之前不会调用.bash_profile,.bashrc或/ etc / profile。 避免这种情况的最佳方法是确保cron调用的任何脚本在执行时都不会对环境做出任何假设。克服这一难题很简单,只需在脚本中包含几行内容即可确保正确设置了环境。例如,就我而言,我在/ etc / profile中具有所有重要的设置(对于RHEL),因此我将在要在cron下运行的任何脚本中包括以下行:
看起来您的
作为cron作业运行时,您确定临时文件创建正确吗?脚本的工作目录将在HOME环境变量中指定,或者在安装cron作业的用户的/ etc / passwd条目中指定。如果deploy对执行目录没有写权限,则可以为转储文件指定绝对路径以解决此问题。 cron是否发送带有日志的电子邮件? 如果不是,则将cron的输出通过管道传输到日志文件。 确保将STDERR重定向到日志。 |
相关内容
-
处理器计划怎么设置|处理器计划怎么设置的
处理器计划怎么设置|处理器计划怎么设置的,,1. 处理器计划怎么...
-
IE脚本错误如何做Web脚本错误解决技巧
IE脚本错误如何做Web脚本错误解决技巧,,这个问题是由于这样的...
-
通过备份记录获得数据库的增长
通过备份记录获得数据库的增长,,通常你想知道数据库是否正在增...
-
金蝶行政事版备份|金蝶KIS行政事业版的每个月的
金蝶行政事版备份|金蝶KIS行政事业版的每个月的凭证和报表要...
-
赛扬英特尔计划在九月发布了一系列的SandyBridg
赛扬英特尔计划在九月发布了一系列的SandyBridge架构,,英特尔...
-
电脑硬盘备份的方法|硬盘怎么备份
电脑硬盘备份的方法|硬盘怎么备份,,1. 硬盘怎么备份有两种方法...
-
手机云备份到电脑|华为手机云备份怎么下载到电
手机云备份到电脑|华为手机云备份怎么下载到电脑,,1. 华为手机...
-
电脑开机提示wdkeydaemonwdcertm_ccb.exe应用程
电脑开机提示wdkeydaemonwdcertm_ccb.exe应用程序错误,,每次你...
-
未知软件异常应用程序错误解决方案
未知软件异常应用程序错误解决方案,,我有很多朋友的电脑未知软...
-
Win10电脑怎么恢复注册表自动备份功能?
Win10电脑怎么恢复注册表自动备份功能?,注册表,自动备份,大家都...
-
英特尔看好Shanzhai厂商提供多个上网本的计划
英特尔看好Shanzhai厂商提供多个上网本的计划,,根据上网本供应...
-
当前页的脚本失败的解决方案_计算机错误
当前页的脚本失败的解决方案_计算机错误,,核心提示:最近打开网...
-
任务管理器如何打开任务管理器应用程序技巧
任务管理器如何打开任务管理器应用程序技巧,,任务管理器广泛应...
-
小米手机安装的应用程序包在哪里
小米手机安装的应用程序包在哪里,,问题: 下载小米手机系统的安...
-
利用wps制作压缩文件|电脑wps压缩文件打包发送
利用wps制作压缩文件|电脑wps压缩文件打包发送,压缩文件,利用...