Потеря ценных файлов и данных - неприятный опыт, с которым сталкивались многие из нас. Хотя мы понимаем важность резервного копирования файлов и данных, не все применяют эффективные решения для резервного копирования.
Одной из основных причин потери данных является отказ локальной системы хранения. Хорошие стратегии резервного копирования предполагают создание регулярных автоматических резервных копий и хранение хотя бы одной копии в удаленном месте.
Популярным методом резервного копирования сервера или рабочего стола Linux является использование rsync для передачи файлов на удаленный SSH-сервер и cron для автоматизации процесса резервного копирования.
Шаги по настройке автоматического удаленного резервного копирования с помощью SSH и rsync
Настройте SSH-логин без пароля с локальной машины на удаленный сервер резервного копирования.
Создайте на удаленном сервере каталог, который будет служить целью резервного копирования.
1 | mkdir -p ~/backup_folder/folder_01 |
Убедитесь, что подключающийся пользователь SSH имеет полный доступ к каталогу на удаленном сервере резервного копирования.
1 | chmod -R 777 ~/backup_folder/folder_01 |
Запустите сценарий резервного копирования вручную на локальной машине, чтобы проверить успешность операции резервного копирования.
1 | rsync -av --delete /path/to/folder_01/ remoteuser@remoteserver:backup_folder/folder_01 |
Образец более полного сценария для автоматического резервного копирования.
1 2 3 4 5 6 7 | #!/bin/bash TARGET="remoteuser@remoteserver:~/backup_folder" for i in folder_01 folder_02 folder_03; do rsync -av --delete $i/ $TARGET/$i; done |
Убедитесь на удаленном сервере, что резервное копирование файлов выполнено успешно.
1 | ls -l ~/backup_folder/folder_01 |
Откройте редактор crontab на локальной машине.
1 | crontab -e |
Настройте cron на локальной машине, чтобы сценарий резервного копирования автоматически выполнялся в заданное время.
1 | 0 0 * * * rsync -av --delete /path/to/folder_01/ remoteuser@remoteserver:backup_folder/folder_01 >>~/.backup.log 2>&1 |