s3cmd kann nicht von einem Init-Skript ausgeführt werden

516
marekful

Ich habe ein Init-Skript erstellt, das einige Protokolldateien s3cmdin einen Amazon S3-Bucket pushen soll, wenn das System ausfällt. s3cmd ist installiert und s3cmd --configurewurde als Benutzer ausgeführt, rootund die Konfiguration ist in Ordnung

Beim manuellen Ausführen des Init-Skripts wird der Job ausgeführt, aber wenn es von initeinem Shutdown ausgeführt wird, schlägt es fehl.

Was kann der Grund sein? Was ist anders, wenn das Init-Skript ausgeführt wird init? Vielleicht kann die /root/.s3cfgDatei nicht gelesen werden?

Bitte beraten.

2

1 Antwort auf die Frage

2
marekful

Die Annahme s3cmd, die Konfigurationsdatei nicht lesen zu können, war richtig. Aus irgendeinem Grund, der mir unbekannt ist, während einer Runlevel-Änderung (0), wenn initInit-Skripts ausgeführt werden, wird der rootBenutzer, der diese Skripts ausführt, anscheinend nicht als "echter" Benutzer gezählt wo s3cmdversucht, die config zu lesen.

Wenn Sie den Speicherort der Konfigurationsdatei explizit angeben, wird --config=...dieses Problem gelöst.

Gut entdeckt, +1. terdon vor 10 Jahren 0