與紅寶石的cron簡單的問題,Cron和Ruby ..「放置`系統命令」「做什麼?
我有它運行
puts `tar etc..`
腳本我試圖調試爲什麼這個腳本不tarring像它的文件應該..
當我手動調用它,我看到焦油輸出過它工作正常..
不會其實是把做任何事情時,其在cron作業運行?
感謝
丹尼爾
與紅寶石的cron簡單的問題,Cron和Ruby ..「放置`系統命令」「做什麼?
我有它運行
puts `tar etc..`
腳本我試圖調試爲什麼這個腳本不tarring像它的文件應該..
當我手動調用它,我看到焦油輸出過它工作正常..
不會其實是把做任何事情時,其在cron作業運行?
感謝
丹尼爾
從crontab的幫助頁面:
如果標準輸出和標準錯誤都不會受到來自crontab條目執行的命令重定向,任何生成的輸出或錯誤,應爲通過實現定義的方法郵寄給用戶。
我通常用於調試的crontab做的是創造一個記錄器:
logfile = File.open('/path/to/log.log', 'rw')
logger = Logger.new(logfile)
logger.debug('something')
,如果你有安裝寶石的特權,你可以嘗試,而不是依賴於系統焦油minitar。
require 'zlib'
require 'archive/tar/minitar'
include Archive::Tar
File.open('test.tar', 'wb') do |tarfile|
Archive::Tar::Minitar::Writer.open(tarfile) do |tar|
Dir["file*"].each do |file|
if File.file?(file)
tar.add_file(file, :mode =>0644, :mtime =>Time.now) { |stream, io|
stream.write(File.open(file).read)
}
end
end
end
end
我不會說ruby,但'puts'只是輸出字符串嗎?我爲什麼要做一些像調用'tar'的東西? – hop 2011-02-28 10:45:00
@hop反引號是調用例如Ruby的方式之一'系統(...)' – Gareth 2011-02-28 10:46:19
啊!沒有看到那些。 – hop 2011-02-28 10:51:23