0
Debian 9のシステム起動時にスクリプトを実行したい。私のスクリプトはスタンドアローンで動作しますが、systemdでは失敗します。Systemdスクリプトが失敗する
私のスクリプトだけコピーローカルマシンにリモートサーバからのバックアップファイル:私は上記のパスワード、ユーザー、およびパスを置き換えるだけでプライバシー保護のため
#!/bin/sh
set -e
/usr/bin/sshpass -p "PASSWORD" /usr/bin/scp -p [email protected]:ORIGINPATH/backupserver.zip DESTINATIONPATH/backupserver/
。
私は、次にsystemdサービスユニットを書いた:
[Unit]
Description=backup script
[Service]
Type=oneshot
ExecStart=PATH/backup.sh
[Install]
WantedBy=default.target
それから私は、スクリプトのパーミッションを設定します。
chmod 744 PATH/backup.sh
とサービスをインストール:
chmod 664 /etc/systemd/system/backup.service
systemctl daemon-reload
systemctl enable backup.service
私が再起動するとスクリプトが失敗する:
journalctl -xeの● backup.service - backup script
Loaded: loaded (/etc/systemd/system/backup.service; enabled; vendor preset: enabled)
Active: failed (Result: exit-code) since Sat 2017-05-13 13:39:54 -03; 47min ago
Main PID: 591 (code=exited, status=1/FAILURE)
結果:間違っている可能性が何
mai 16 23:34:27 rodrigo-acer systemd[1]: backup.service: Main process exited, code=exited, status=6/NOTCONFIGURED
mai 16 23:34:27 rodrigo-acer systemd[1]: Failed to start backup script.
mai 16 23:34:27 rodrigo-acer systemd[1]: backup.service: Unit entered failed state.
mai 16 23:34:27 rodrigo-acer systemd[1]: backup.service: Failed with result 'exit-code'.
?
プログラミングに関する質問ではありませんか? –
systemdジャーナルにすべての出力が記録されている必要があります。 'journalctl -u backup'を試してください –
そして、システムドジョブを実行するために再起動する必要はありません。最初に 'systemctl start backup'で作業してください。 –