Я сделал скрипт инкрементного резервного копирования rsync для своего сервера, который будет копировать резервную копию базы данных MySQL и заданный путь к папке на удаленный сервер. Вот код на Github.
Отрывок кода из строк 53-57:
############### Create most current hand link
echo "Creating most current hard link on backup server $most_recent_backup_link"
ssh $remote_backup_server rm -rf ${most_recent_backup_link}
ssh $remote_backup_server cp -alv ${remote_backup_folder}/backup-${backup_folder_name}/ ${most_recent_backup_link}
У меня проблема с созданием самых последних жестких ссылок на сервере резервного копирования (строки 53-57 в программе). Все работает, и rsync копирует только 1-2 МБ данных. Но процесс копирования жесткой ссылки использует около 30 МБ данных. Я получаю огромный список файлов, которые не изменились, и только те, которые изменились, имеют очень маленький размер. Обычно это не проблема, но при резервном копировании каждый час, резервная копия должна быть как можно меньше.
Например, последняя резервная копия, которую я сделал, rsync передала 1,3 МБ. Но каталог резервного копирования вырос на 35 МБ.
Почему жесткие ссылки занимают так много места на жестком диске?