外部サーバー上のシステムの sftp バックアップを実行するために Obnam バックアップを設定しました。コマンドを実行すると、正常に実行されます。
sftp への接続には私の ssh キーを使用します。そして、GPG キーを使用してコンテンツを暗号化します。
私は systemd を使って毎日自動的に実行するようにしています。
backup.servive
つまり、次のようなものになります。
[Unit]
Description="Online Backup"
Requires=network-online.target
After=network-online.target
[Service]
User=my_user
ExecStart=/path/to/my/backup/script
そして、タイマーユニットも作成しましたbackup.timer
:
[Unit]
Description="Run backup daily and on boot"
[Timer]
OnBootSec=15min
OnUnitActiveSec=1d
[Install]
WantedBy=timers.target
私の今の問題は、SSH キーと GPG キーをどのように統合するかということです。
サービスを実行すると、systemctl
スクリプト (手動で実行すると機能します) は SSH 例外で失敗します。これは、そのようなキーへのパスワードにアクセスできないことが原因であると考えられます。
スクリプトがコンテンツの暗号化に GPG キーを使用するようになった場合、同じ問題が GPG キーでも発生すると思われます。
それで、現時点での疑問は、どのようにして systemd にそのようなパスワードへのアクセスを許可するかということです。手動で実行するときに使用する ssh-agent とキーリングに相当するもの。