0

我无法让这个 cron 工作开始。我正在运行 opsworks 实例,这是我的食谱:

cron "delete_error_log" do
  hour "12"
  minute "30"
  command %Q{
  sudo find /srv/www/ -name "error_log" -delete
  }
  action :create
end

我已经确保 cron 可以通过在 ssh 中运行来工作。

我得到的错误是:

================================================================================
Error executing action `create` on resource 'cron[delete_error_log]'
================================================================================


Chef::Exceptions::Cron
----------------------
Error updating state of delete_error_log, exit: 1


Resource Declaration:
---------------------
# In /opt/aws/opsworks/releases/20140423133810_223/site-cookbooks/cron_job/recipes/delete_error_log.rb

1: cron "delete_error_log" do
2:   hour "12"
3:   minute "30"
4:   command %Q{
5:   sudo find /srv/www/ -name "error_log" -delete
6:   }
7:   action :create
8: end


Compiled Resource:
------------------
# Declared in /opt/aws/opsworks/releases/20140423133810_223/site-cookbooks/cron_job/recipes/delete_error_log.rb:1:in `from_file'

cron("delete_error_log") do
weekday "*"
retry_delay 2
command "\n  sudo find /srv/www/ -name \"error_log\" -delete\n  "
minute "30"
cookbook_name :cron_job
month "*"
retries 0
recipe_name "delete_error_log"
day "*"
action [:create]
user "root"
hour "12"
end
=======================================================
4

1 回答 1

1

问题是多行命令,似乎是直接放入crontab文件中。相反,提供command这样的:

cron "delete_error_log" do
  hour "12"
  minute "30"
  command 'sudo find /srv/www/ -name "error_log" -delete'
end
于 2014-05-09T13:26:14.477 回答