ich ein Ruby-Skript haben in ~/scri.rbRuby-Skript cron nicht funktioniert
File.open('~/newfile.txt', 'a+') do |f|
f << "hi..\n"
end
Ich habe einen cron Tab wie diese
* * * * * bash -lc 'ruby ~/scri.rb' >> /var/log/syslog
Wenn ich die Protokolle in/var überprüfen/log/syslog ich sehe Einträge wie diese
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)
Aber wenn ich die newfile.txt Datei überprüfen ich sehe nichts drin.
Fehle ich hier etwas?
Sie müssen vollständige Pfade in Cron verwenden. Schreiben Sie statt '~/newfile.txt' '/ home/your_user/newfile.txt', damit cron weiß, wo sich die Datei befindet. In der Tat haben Sie wahrscheinlich die Datei in '/', die das Home-Verzeichnis von root ist. – fedorqui
newfile.txt befindet sich im Home-Verzeichnis. – RamanSM
OK, Ruby kenne ich nicht. Wenn Sie diese Datei zum Anhängen von Inhalt öffnen möchten, müssen Sie Cron den vollständigen Pfad mitteilen. Probieren Sie es mit '/ home/...' anstatt mit '~' aus, wie schon gesagt. – fedorqui