OS X + Crontab: Wie führen Sie SCP über cron?
Frage
Das funktioniert gut, wenn ich es von Hand ausgeführt werden:
#!/bin/bash
eval `ssh-agent`
ssh-add
/usr/bin/scp me@server:~/file ./
exit 0
Wenn jedoch die cron läuft die Datei nie berührt. Ich weiß, die SSH-Schlüssel sind recht - ersetzen, dass scp
mit einem ssh
und es läuft gut
Lösung
cron ist in der Regel als root ausführen, müssen Sie dieses Skript als root getestet, um sicherzustellen, dass der SSH-Schlüssel in der richtigen Position ist, dass root sucht nach? Oder möchten Sie Ihre sshkeys in Ihrem Benutzerprofil haben?
Andere Tipps
Sie können auch unter Verwendung von rsync für diesen Prozess betrachten statt scp'ing die Datei als Cron-Skript.
Nicht sicher, was Version Sie ausführen, aber in Snow Leopard Cron-Jobs als Benutzer ausgeführt (Check mit whoami
in Ihrem cron'd Skript) ... zumindest wenn der Benutzer gerade angemeldet ist.