【发布时间】:2016-09-08 09:24:25
【问题描述】:
File.open('~/newfile.txt', 'a+') do |f|
f << "hi..\n"
end
我有一个这样的 cron 选项卡
* * * * * bash -lc 'ruby ~/scri.rb' >> /var/log/syslog
当我检查 /var/log/syslog 中的日志时,我看到这样的条目
Sep 8 14:49:01 user1acer CRON[26063]: (user1) CMD (bash -lc 'ruby ~/scri.rb' >> /var/log/syslog)
Sep 8 14:50:01 user1acer CRON[27502]: (user1) CMD (bash -lc 'ruby ~/scri.rb' >> /var/log/syslog)
Sep 8 14:51:01 user1acer CRON[29006]: (user1) CMD (bash -lc 'ruby ~/scri.rb' >> /var/log/syslog)
Sep 8 14:52:01 user1acer CRON[30425]: (user1) CMD (bash -lc 'ruby ~/scri.rb' >> /var/log/syslog)
Sep 8 14:53:01 user1acer CRON[31846]: (user1) CMD (bash -lc 'ruby ~/scri.rb' >> /var/log/syslog)
但是当我检查 newfile.txt 文件时,我什么也没看到。
我在这里错过了什么吗?
【问题讨论】:
-
您需要在 cron 中使用完整路径。所以不要写
~/newfile.txt,而是写/home/your_user/newfile.txt,这样cron就知道在哪里找到文件。实际上,您可能在/中拥有该文件,这是 root 的主目录。 -
newfile.txt 在主目录中。
-
好吧,我对 Ruby 不熟悉。所以如果你想打开那个文件来追加内容,你需要告诉 cron 它的完整路径。如前所述,尝试使用
/home/...而不是~。 -
通常,root 的主目录是
/root,而不是/。
标签: ruby cron ubuntu-14.04