我正在运行一个 rsync 脚本来将文件从 pi 复制到本地文件夹,该脚本在手动运行时按预期工作,但失败了:
: Host key verification failed.
: rsync error: unexplained error (code 255) at rsync.c(703) [Receiver=3.2.3]
当由服务文件运行时,如果能帮助我解决哪里出了问题,我将不胜感激。
脚本:
#!/bin/bash
experimentNum=$(sshpass -p 'pass' ssh user@IP "cat /source/source.txt")
mkdir -p /dest/$experimentNum
sshpass -p 'pass' rsync -zaP user@IP:/source/ /dest
sshpass -p 'pass' ssh user@IP sudo find /source/ -mtime +14 -daystart -delete
服务:
[Unit]
Description=backup
StartLimitIntervalSec=0
[Service]
Type=oneshot
ExecStart=/usr/bin/bash /absolute-path/drive_backup.sh
Restart=on-failure
RestartSec=5
答案1
没错,修复起来非常简单,但我忽略了为用户运行服务(在子标题User=user
下[service]
),创建了 ssh 密钥,但我不记得它们是特定于某个用户的!
[Unit]
Description=backup
StartLimitIntervalSec=0
[Service]
Type=oneshot
ExecStart=/usr/bin/bash /absolute-path/drive_backup.sh
Restart=on-failure
RestartSec=5
User=user