Мне нужен сценарий (или инструмент) резервного копирования для моего сервера Ubuntu. Упаковать папку в tar.gz cron.d довольно просто.
Но проблема в том, что при каждом обновлении появляется несколько 100 МБ данных. Поэтому я решил создать инкрементную резервную копию с ежедневной, еженедельной и ежемесячной ротацией.
Более конкретное требование: 1. В воскресенье делайте полное резервное копирование 2. В понедельник, вторник, среду, четверг, пятницу и субботу делайте только инкрементное / дифференциальное резервное копирование 3. В следующее воскресенье сделайте либо полное резервное копирование, либо просто сделайте резервную копию разницы между этой и прошлой неделями. (пока не уверен, что здесь лучше. Данные не меняются так часто, кроме почтовой папки, последняя значительно сэкономит место на диске, но приведет к увеличению объема работы, откатывающей данные до определенной точки). Чередовать последние 4 недели 4. Каждого 1 числа месяца делайте полное резервное копирование. Сохранить ротацию за последние 3 месяца
Любой из них (скрипт для cron.d или собственное приложение) приветствуется. Было бы предпочтительнее, если бы его можно было установить через диспетчер пакетов ОС без необходимости слишком много компилировать.
Рассматриваемая система представляет собой Ubuntu 8.04 LTS (более новая версия недоступна из-за виртуализации и программного обеспечения виртуализации, привязанного к этому ядру)
Звучит как rsnapshot сделает многое из того, что вы хотите, с минимальной конфигурацией. По сути, он выполняет полное резервное копирование каждый день, но поскольку он хранит резервные копии с жесткими ссылками и использует rsync для эффективной передачи файлов, он довольно эффективен как с точки зрения пространства, так и с точки зрения сети, если ваши файлы для резервного копирования не сильно меняются.
Вы можете попробовать rsnapshot: http://rsnapshot.org/ Он использует rsync и жесткие ссылки для создания снимков системы, что в основном то, что вам нужно. Он также находится в репозиториях Ubuntu.