2016-04-19 2 views
0

Ich habe eine Cron-Aufgabe, die jede Minute ein Ruby-Skript aufruft. . Aber ich glaube nicht das Skript will, etwas zu tun, wenn ich angemeldet binWie überprüfe ich, ob ich eine aktive Sitzung mit Ruby und Cron habe?

fand ich diese Schnipsel im Internet, in dem Anfang des Skripts platziert werden:

exit unless `who -q`.include? ENV['USER'] 

Das Problem funktioniert das nur, wenn ich das Skript selbst anrufe. Wenn es von cron ausgeführt wird, sendet Postfix mir diese Nachricht:

`include?': can't convert nil into String (TypeError) 

Hat nicht who -q etwas zurückgeben für einen cron-Job? Was kann ich in diesem Fall tun?

Antwort

0

fand ich diese interessante Frage Reasons why crontab does not work und es stellt sich heraus cron nicht über die $USER Variable eingerichtet, hat aber eine $LOGNAME Variable, die den gleichen Wert hat (zumindest in meiner Umgebung).

Also entweder $USER in crontab einrichten oder $LOGNAME verwenden.