我已设置 Obnam 备份以在外部服务器上对系统进行 sftp 备份。当我运行命令时,它会正确执行。
它使用我的 ssh 密钥连接到 sftp。它使用我的 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 密钥来加密内容,那么同样的问题也会出现。
因此,目前的问题是如何让 systemd 访问这些密码?这相当于我手动运行时使用的 ssh-agent 和 keyring。