Мы написали уже много информации о том, как важно заботиться о сохранности своих данных и в последствии не испытывать то чувство, когда вы теряете что-то важное без возможности восстановления. Достаточно простой способ резервного копирования в операционной системе Linux описан в этой статье.
Для работы вам понадобятся следующие инструменты:
- Программное обеспечение RSYNC
- Любой консольный текстовый редактор (в командах в статье мы используем nano)
- Любой FTP клиент для доступа к нашему файловому хранилищу
Воспользуйтесь следующей командой для установки rsync:
Debian/Ubuntu
apt-get install rsync (либо apt install rsync)
Centos
yum install rsync
Сгенерируйте rsa ключ для авторизации и выполнения операций без пароля следующей командой (под root пользователем):
ssh-keygen -t rsa -b 4096
Если у вас уже есть rsa ключ в директории /root/.ssh/ , то пропустите этот пункт.
Далее нужно взять данные из файла /root/.ssh/id_rsa.pub (из публичного ключа):
cat /root/.ssh/id_rsa.pub
Подключитесь через любой FTP клиент на своём компьютере (например, FileZilla) к файловому хранилищу c1-ftp1.netpoint-dc.com используя свой логин и пароль. После авторизации пройдите в директорию .ssh и создайте файл со следующим именем — authorized_keys .
Скопируйте вывод содержимого на своем сервере из файла /root/.ssh/id_rsa.pub и введите его в файл authorized_keys на файловом хранилище. Сохраните файл. Вся добавленная информация должна быть в одну строку, никаких отступов и переходов добавлять не нужно.
На сервере выполните подключение по SFTP к файловому хранилищу для проверки
sftp name@c1-ftp1.netpoint-dc.com (вместо name укажите ваш логин)
При подключении подтвердите принятие сертификата. Всё работает? Идем дальше.
В директории /opt создайте файл с именем backup.sh и поместите в него следующий текст
nano /opt/backup.sh
#!/bin/bash HOST=c1-ftp1.netpoint-dc.com USER=name rsync -avz -H --backup --recursive --delete /etc $USER@$HOST:/_data/
В переменной «USER=» вместо «name» укажите ваш логин. В последней строке вместо «/etc» укажите директорию с файлами и папками, которую хотели бы сохранить на файловом хранилище. В примере указана директория в которой хранятся конфигурационные файлы. Вы можете добавить несколько директорий для резервного копирования и тогда ваша команда будет выглядеть так:
rsync -avz -H --backup --recursive --delete /etc /root /var/www $USER@$HOST:/_data/
Укажите свои директории для резервного копирования.
Предоставьте права на выполнение для файла скрипта резервного копирования следующей командой:
chmod +x /opt/backup.sh
Теперь нужно настроить расписание для запуска скрипта резервного копирования. Перейдите в редактор cron следующей командой:
crontab -e
и добавьте следующую строку
0 1 */2 * * bash /opt/backup.sh
Сохраните запись. Скрипт будет запускаться каждый четный день в 1 час ночи. Будет происходить синхронизация данных с сервера на файловое хранилище через rsync.
Это не идеальный способ резервного копирования, но он достаточно простой в плане настройки. Вы легко сможете получить данные за предыдущий день из файлового хранилища подключившись любым FTP клиентом.