Поиск по сайту:

Как создать резервную копию каталога Linux на удаленном компьютере с помощью rsync

Резервное копирование локального каталога на удаленный компьютер в Linux выполняется быстро и гибко с помощью этого инструмента командной строки Linux.

Linux — самая гибкая операционная система на рынке. С этой платформой с открытым исходным кодом вы можете сделать гораздо больше, чем с вашей проприетарной ОС, не тратя ни копейки на программное обеспечение.

Делая свои первые шаги в Linux, вы, вероятно, захотите избегать командной строки, потому что это может быть немного утомительно. Однако со временем вы можете обнаружить, что готовы увидеть, насколько больше мощности и гибкости вы можете получить от выбранного вами дистрибутива. Одна очень удобная (и полезная) вещь, которую вы можете сделать, — это научиться выполнять резервное копирование локального каталога в удаленный с помощью команды rsync. И это именно то, что я собираюсь вам показать.

Готовый? Давай сделаем это.

Как создать резервную копию каталога Linux с помощью rsync 

Что вам понадобится: Чтобы это работало, вам понадобятся два экземпляра Linux: один для локального (в котором находится каталог, для которого вы хотите создать резервную копию), и один для удаленного (который вы хотите скопирую каталог до). Вам также понадобится пользователь с привилегиями sudo на обеих машинах. Наконец, вам нужно знать IP-адреса обеих машин (которые можно узнать с помощью команды ip a ). Я продемонстрирую это на двух машинах под управлением Ubuntu. Если вы используете дистрибутив на базе Fedora или Arch, единственное, что вам нужно изменить, — это команду установки.

1. Установите rsync на обе машины.

Первое, что нужно сделать, это установить rsync, что можно сделать с помощью следующей команды:

sudo apt-get install rsync -y

2. Настройте rsync на удаленном компьютере.

Далее нам нужно настроить rsync на удаленной машине. Создайте новый файл конфигурации с помощью команды:

sudo nano /etc/rsyncd.conf

В этот файл вставьте следующее содержимое:

[backup]
path=REMOTE_DIRECTORY
hosts allow = LOCAL_IP
hosts deny = *
list = true
uid = root
gid = root
read only = false

Где REMOTE_DIRECTORY — это каталог на удаленном компьютере, в котором будут храниться файлы резервной копии, а LOCAL_IP — это IP-адрес локального компьютера.

Сохраните и закройте файл с помощью сочетания клавиш Ctrl+X.

Запустите и включите rsync командой:

sudo systemctl enable --now rsync

3. Запустите резервное копирование

Теперь мы проверим процесс резервного копирования. На вашем локальном компьютере вы запустите команду rsync следующим образом:

rsync -avz LOCAL_DIRECTORY REMOTE_IP::backup

Где LOCAL_DIRECTORY — каталог, резервную копию которого вы хотите создать, а REMOTE_IP — IP-адрес удаленного компьютера. Обратите внимание на ::backup. Это имя резервной копии, которую мы использовали в файле конфигурации на удаленном компьютере (строка [backup]). Резервное копирование должно запуститься и завершиться довольно быстро (если в каталоге нет большого количества файлов).

Автоматизируйте резервное копирование

Как я уже сказал, Linux очень гибок. Мы можем автоматизировать этот процесс с помощью встроенного инструмента cron. Что мы сделаем, так это создадим bash-скрипт для резервного копирования с помощью команды:

nano rsync.sh

В этом файле введите ту же команду, которую вы использовали ранее для запуска резервного копирования, только мы добавим параметр q для подавления вывода, поэтому это выглядит так:

rsync -avzq LOCAL_DIRECTORY REMOTE_IP::backup

Сохраните и закройте файл. Дайте права на исполняемый файл с помощью команды:

chmod u+x rsync.sh

Теперь мы создадим задание cron с помощью команды:

sudo crontab -e

В этот файл вставьте следующее:

00 01 * * * /home/USER/rsync.sh

Где USER — ваше имя пользователя. Сохраните и закройте файл.

Ваше новое задание cron будет запускать резервное копирование rsync ежедневно в час ночи, поэтому у вас всегда будет свежая резервная копия этого каталога.

И это, друзья мои, все, что нужно для создания базового задания удаленного резервного копирования в Linux.

Статьи по данной тематике