Монтирование папок по ssh
Монтирование папок на бэкап-сервер
Задача: перенести статические файлы Корпоративного портала Битрикс24, который крутится на CentOS. Это делается для того, чтобы сэкономить место и деньги (папка /backup/ и /upload/ за год пользование возросла до 150 ГБ), при этом значительно повысить надежность и скорость работы системы.
Исходные данные: самый дешевый VPS с CentOS 7 на Hetzner и там же бэкап-сервер на 1 ТБ (в перспективе лучше брать 2 отдельных сервера на бэкап и на загрузку статических файлов). Важно помнить, что бэкап-сервер доступен только из локальной сети Hetzner, т.е. с вашего компьютера там не удастся посмотреть список.
Первым делом делаем бекап всего и сохраняем себе на всякий случай :)
Дальше подключаемся к нашему серверу и пишем:
#Ставим sshfs для монтирования папки по ssh и sftp
yum install sshfs -y
#Удаляем содержимое папки /bitrix/backup/ и выполняем (-o reconnect будет поддерживается постоянное соединение с сервером, а -o allow_other позволяет работать с файлами на бэкап-сервере любому пользователю)
echo 'ПАРОЛЬ' | sshfs имя_пользователя@имя_пользователя.your-backup.de:/папка_бэкапа/ /home/bitrix/www/bitrix/backup -o password_stdin -o reconnect -o allow_other
#бэкап смонтировали, можно проверять
#Если все получилось, будем монтировать папку /upload/
#Сначала давайте перенесем все данные с папки /upload/ в папку /upload_back/
mv /home/bitrix/www/upload /home/bitrix/www/upload_back
#Создаем папку /upload/ (она обязательно должна быть пустая) и монтируем ее к серверу
echo 'ПАРОЛЬ' | sshfs имя_пользователя@имя_пользователя.your-backup.de:/папка_загрузки/ /home/bitrix/www/upload -o password_stdin -o reconnect -o allow_other
#если все получилось, переносим файлы с /upload_back/ обратно в /upload/ Внимание! Процесс может занимать очень много времени!
cp -a /home/bitrix/www/upload_back/. /home/bitrix/www/upload/
Процесс переноса файлов upload-а
Добавление процесса в автозагрузку
Естественно, после перезагрузки сервера папки не смонтируются автоматически. Чтобы они все-таки смонтировались и нам не нужно было это делать вручную, 2 команды по монтированию нужно добавить в автозагрузку.
#Открываем файл, который запускается после перезагрузки
mcedit /etc/rc.local
#вносим 2 верхнии строчки, которые монтируют 2 папки
echo 'ПАРОЛЬ' | sshfs имя_пользователя@имя_пользователя.your-backup.de:/папка_бэкапа/ /home/bitrix/www/bitrix/backup -o password_stdin -o reconnect -o allow_other
echo 'ПАРОЛЬ' | sshfs имя_пользователя@имя_пользователя.your-backup.de:/папка_загрузки/ /home/bitrix/www/upload -o password_stdin -o reconnect -o allow_other
Как размонтировать sshfs директорию
#размонтируем директорию /backup/
fusermount -u /home/bitrix/www/bitrix/backup