В предшествующей статье я описывал как сделать бекап сайта с базой mysql и залить на любой FTP. Но столкнулся с тем,что такой способ заливки портил архив и он становился нечитабельным. Потому решил делать все тоже самое,только заливать файл по SSH с помощью утилиты scp.

Для начала нужно сделать вход на требуемый сервер(куда будут заливаться бекапы) по ssh-ключу. Для этого  под пользователем(не рутом!) с сервера хостинга выполняем команду:

ssh-keygen -t rsa

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

ssh-copy-id имя_сервера_бекапа

После ввода пароля для входа на сервер,ключ будет скопирован.Теперь выходим с него и пробуем заново зайти:

ssh имя_сервера_бекапа

Если зашло сходу,без ввода пароля, то все получилось.

Теперь сама команда заливки бекапа,которая является заменой команды заливки по FTP. Сам скрипт смотрите в предидущей статье.

scp /путь_к_файлу/имя_файла$DATE.zip пользователь@сервер:/home/пользователь/backup/
Теперь по порядку:

scp - собственно сама программа

/путь_к_файлу/имя_файла$DATE.zip - путь и сам файл на сервер хостинга

пользователь@сервер - данные для входа на сервер бекапа, например vasya@coolserver.com

:/home/пользователь/backup/ - абсолютный путь,куда заливать на сервер. Учтите что заливаете с правами пользователя,так что в какой нибудь /etc/ вы точно не зальете.

Добавить комментарий

%d такие блоггеры, как: