bash.org:

Следуй за мной:

twiby

Адовый чад кутежа и трэш в комплекте

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

Пришло на ум: 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

Если мой пост помог вам сэкономить пару часов времени или показался полезным, думаю не лишним будет показать его друзьям через социальные сети или упомянуть в своем блоге.


Ваше мнение:

Имя

Paul : 2017-11-22 03:11:11

Спасибо! полдня убил на попытки решить этот вопрос...а все так просто
   другие статьи с тегом Linux

Случайная мысль:

Это благородно - стыдиться лучшего в себе, так как только сам и обладаешь им.
Фридрих Ницше
drcreazy © 2008-2012 all rights reserved