Запуск rsync от пользователя apache(www-data).

Posted: 13 ноября 2012


Для запуска rsync из веб-приложения(от пользователя apache или www-data, в данном случае apache) понадобится немного магии. Условимся что сервер 1, на который обновляем файлы у нас обновляемый(Обновляемый, 10.11.12.13), а сервер 2, с которого копируем донор(Донор, 21.22.23.24).

Рассмотренные команды выполняются для CentOS, но они аналогичны или очень похожи для остальных дистрибутивов Linux. Подключаемся по ssh к Обновляемому и выполняем следующие команды:

1. su 
2. Вводим пароль рута 
3. mkdir /var/www/.ssh
4. chown apache:apache /var/www/.ssh
5. sudo -u apache ssh-keygen -t rsa
6. вводим /var/www/.ssh/id_rsa 
7. жмем enter 2 раза
8. chmod 700 /var/www/.ssh/id_rsa

Когда ключ готов, переносим публичный ключ rsa_id.pub его на сервер Донор, и импортируем в .ssh/authorized_keys для пользователя под которым будем синхронизировать, например вот так:

1. коннектимся к донору
2. scp user@10.11.12.13:/var/www/.ssh/id_rsa.pub id_rsa.pub
3. mkdir ~/.ssh
4. cat ./id_rsa.pub >> ~/.ssh/authorized_keys 
5. chmod 700 ~/.ssh/authorized_keys

После добавления ключа, можно делать rsync обновляя файлы Обновляемого с Донора прямо из веб-приложения на сервере Обновляемого.

Пробуем, sudo -u apache rsync -avu user@21.22.23.24:~/testSync ./testData

Если спросит Are you sure you want to continue connecting (yes/no)? пишем yes

If you find the post helpful you can share it


Ваше мнение:

Имя

Paul : 2017-11-22 08:11:11

Спасибо! полдня убил на попытки решить этот вопрос...а все так просто
   other with Linux
drcreazy © 2008-2012 all rights reserved