rsync
rsync копирует файлы между директориями или компьютерами и передает только измененные данные, что ускоряет повторное копирование и создание резервных копий. Утилита работает локально или через SSH и сохраняет права доступа, время и ссылки при использовании опции -a.
1Основные опции
-a (archive) сохраняет права доступа, время, владельцев и символические ссылки, а также выполняет рекурсивное копирование. -v отображает каждый файл, -h выводит размеры в читаемом виде, -z сжимает данные при передаче по сети, а --progress показывает прогресс выполнения.
2Завершающий слэш
rsync -a src/ dest/ копирует содержимое src в dest. rsync -a src dest/ копирует саму директорию, создавая dest/src. Ошибки в этом — самая частая проблема при работе с rsync.
3--delete и --dry-run
--delete удаляет файлы в месте назначения, которых больше нет в источнике, создавая точное зеркало. --dry-run (-n) показывает, что произойдет, не внося никаких изменений; эту опцию всегда следует использовать перед применением --delete.
Как создать резервную копию папки на сервере
- Сначала протестируйте:
rsync -avhn --delete ~/Documents/ user@server:/backup/Documents/ - Просмотрите список файлов, которые будут скопированы или удалены.
- Запустите выполнение:
rsync -avh --delete ~/Documents/ user@server:/backup/Documents/ - Повторяйте ту же команду позже; будут переданы только изменения.
Осторожно
- При использовании
--deleteневерный путь к источнику может привести к очистке места назначения; всегда сначала запускайте команду с -n. - Зеркало не является историей резервных копий: удаленные или поврежденные файлы также будут синхронизированы.
Связанные статьи
- SSH-ключиКак работает аутентификация по SSH-ключу, как создать ключ с помощью ssh-keygen, установить его на сервер и защитить.
- Поиск больших и старых файлов с помощью findКак использовать find для вывода списка больших или старых файлов в Linux, их безопасного предварительного просмотра и удаления только проверенных данных.
- cron и crontabКак cron выполняет запланированные задачи, пять полей времени crontab, где хранятся системные файлы cron и как они соотносятся с таймерами systemd.
Источники
- rsync(1) manual page download.samba.org
- rsync project page rsync.samba.org
Последняя проверка: