Я с большим удовольствием использую rsync для резервного копирования своих серверов, хотя у меня есть вопрос о --delete-excluded
параметр.
/usr/bin/rsync -a --delete --numeric-ids --relative --delete-excluded --rsh=/usr/bin/ssh root@server01:/etc /.snapshot/hourly.0/server01
Из man rsync
:
--delete-excluded also delete excluded files from dest dirs
Для меня, не носителя английского языка, это означает, что rsync удалит исключенные каталоги из фактического целевого каталога на удаленном сервере, поэтому, если у меня есть /home/backup
и /home/settings
в моих исключительных папках эти папки на самом деле будут удален с удаленного сервера,.
Из нескольких других ресурсов кажется, что он удалит файлы из локальной резервной папки, чтобы сэкономить место. Например, вы можете создать небольшие резервные копии на самом сервере и исключить эти данные, чтобы не тратить впустую место для хранения.
Для меня жизненно важно, чтобы rsync выполнял свою работу только в одном направлении, поскольку люди говорят, что он предназначен для работы. Я не хочу рисковать, имея программное обеспечение, которое удаляет файлы / каталоги на удаленном сервере.
Ваша интерпретация верна. Если вы исключили файлы или каталоги из передачи, --delete-excluded удалит их со стороны назначения (это не обязательно должен быть «удаленный сервер», вы можете использовать rsync
для копирования с сервера на локальный компьютер), если он там их найдет. Например, если вы используете --exclude=*.o --delete-excluded
, то, если rsync найдет какие-либо файлы, заканчивающиеся на .o на стороне назначения, он удалит их независимо от того, существуют они в исходном каталоге или нет.