关于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压缩文件打包发送,压缩文件,利用...