Нельзя путать src и dest в rsync на проде

Хочу поговорить немного про rsync. Думаю, все линуксоиды знают эту утилиту. Я постоянно ее использую в ежедневной рутине при настройке серверов. То файлы перекинуть, то бэкап на скриптах наколхозить, то репликацию каталогов настроить и т.д.

Онлайн-курс по устройству компьютерных сетей

На углубленном курсе "Архитектура современных компьютерных сетей" вы с нуля научитесь работать с Wireshark и «под микроскопом» изучите работу сетевых протоколов. На протяжении курса надо будет выполнить более пятидесяти лабораторных работ в Wireshark.

Rsync представляет огромную опасность для прода, сравнимую с опасностью от неосторожного использования rm -rf / (у меня было разок 💀). Я думаю у каждого активного пользователя rsync найдется история факапа, связанного с ним. Думаю вы уже поняли, в чем тут дело.

Чаще всего rsync используется с ключом --delete для того, чтобы удалить все файлы на приемнике, которых уже нет на источнике, с которого мы тянем файлы. Это для того, чтобы получить актуальную копию. И горе вам, если вы перепутаете местами источник с приемником. Если у вас приемник пустой, то одной простой командой с rsync вы и источник обнулите.

Стоит ли говорить, что разок я так ошибся и теперь каждый раз очень внимательно проверяю синтаксис команды, которую собираюсь запустить. Мне повезло, что когда я удалял актуальные файлы сайта с прода, успел вовремя заметить и остановить команду. В итоге удалились старые медиа файлы из архива. У меня была вторая копия данных в другом бэкапе (у вас же тоже более одного бэкапа 😎), из которой я их восстановил. Никто даже не заметил проблем, так как сайт продолжал нормально работать.

Все то же самое относится к команде find, если используете ее для удаления файлов. Я сначала направляю вывод списка найденных файлов в консоль или отдельный файл. Проверяю, что там реально то, что я хочу удалить и только после этого удаляю или ставлю в скрипт с ключом --delete или -exec rm {} \;

Были такие факапы, когда удаляли нужные файлы?

Источник - мой канал: https://t.me/srv_admin/458.

Автор Zerox

Владимир, системный администратор, автор сайта. Люблю настраивать сервера, изучать что-то новое, делиться знаниями, писать интересные и полезные статьи. Открыт к диалогу и сотрудничеству. Если вам интересно узнать обо мне побольше, то можете послушать интервью. Запись на моем канале - https://t.me/srv_admin/425 или на сайте в контактах.

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

Ваш адрес email не будет опубликован. Обязательные поля помечены *

Нажимая кнопку "Отправить комментарий" Я даю согласие на обработку персональных данных.
Используешь Telegram? Подпишись на канал автора →
This is default text for notification bar