2016-09-12 8 views
0

У меня возникают проблемы с запуском rysnc в моем crontab. Это crontab моих собственных пользователей, поэтому он работает как мой пользователь, и я настроил ключи без пароля rsa. Когда я запускаю работу rsync на моей консоли, она работает. Но когда я импортирую его в crontab, он говорит, что он запускается в/var/log/syslog, но я не вижу синхронизацию папки.работает rsync в crontab с ключами

Мой кронтаб супер просто:

* * * * * rsync -av --delete [email protected]:/home/backup/ /home/backup 

Я считаю кронтаб не подбирая окружение моего пользователя. если я делаю следующее, я могу видеть только некоторые переменные окружения:

* * * * * env >> /tmp/my_env_variables 

Эти выходы как cat /tmp/my_env_variables

LANGUAGE=en_US.UTF-8 
HOME=/home/myuser 
LOGNAME=myuser 
PATH=/usr/bin:/bin 
LANG=en_US.UTF-8 
SHELL=/bin/sh 
PWD=/home/myuser 

Я не ENV переменные, такие как:

SSH_AUTH_SOCK=/tmp/ssh-uapL7nIOVj/agent.103170 

Что правильный способ импорта переменных env, которые мне нужны в cron?

+0

Stackoverflow предназначен для разработки программного обеспечения. В лучшем случае это едва ли по теме. Вы должны рассмотреть вопрос об этом на [unix.se] или [su], а не здесь. – Kenster

ответ

0

От man 5 crontab:

Активная линия в кронтаб является либо параметр среды или команду хрон. Настройки среды имеет вид:

name = value 

Однако, требуя SSH агента быть всегда присутствует, когда хрон-задание выполняется будет ненадежным. Если вы хотите, чтобы это сработало, вам понадобится ключ без пароля. Вы можете ограничить этот ключ в authorized_keys на сервере, чтобы работать только с определенного IP-адреса.

 Смежные вопросы

  • Нет связанных вопросов^_^