У меня уже был установлен, если нет, то:
apt install -y duplicity
Запускать его рекомендую под root
. А также добавить в cron
.
Делаем бекап без шифрования.
В первый раз будет полный бекап, при повторной
команде будет инкрементальный:
duplicity --no-encryption /home/crusat/www/crusat file:///mnt/backup/incremental/
Пример вывода:
Local and Remote metadata are synchronized, no sync needed.
Last full backup date: none
No signatures found, switching to full backup.
--------------[ Backup Statistics ]--------------
StartTime 1685457148.21 (Tue May 30 17:32:28 2023)
EndTime 1685457321.37 (Tue May 30 17:35:21 2023)
ElapsedTime 173.16 (2 minutes 53.16 seconds)
SourceFiles 2598
SourceFileSize 2430153960 (2.26 GB)
NewFiles 2598
NewFileSize 2430153960 (2.26 GB)
DeletedFiles 0
ChangedFiles 0
ChangedFileSize 0 (0 bytes)
ChangedDeltaSize 0 (0 bytes)
DeltaEntries 2598
RawDeltaSize 2428822760 (2.26 GB)
TotalDestinationSizeChange 559464350 (534 MB)
Errors 0
-------------------------------------------------
После инкрементального пример вывода:
Local and Remote metadata are synchronized, no sync needed.
Last full backup date: Tue May 30 17:32:28 2023
--------------[ Backup Statistics ]--------------
StartTime 1685458987.94 (Tue May 30 18:03:07 2023)
EndTime 1685458988.72 (Tue May 30 18:03:08 2023)
ElapsedTime 0.79 (0.79 seconds)
SourceFiles 2598
SourceFileSize 2430165025 (2.26 GB)
NewFiles 1
NewFileSize 4096 (4.00 KB)
DeletedFiles 0
ChangedFiles 5
ChangedFileSize 16991003 (16.2 MB)
ChangedDeltaSize 0 (0 bytes)
DeltaEntries 6
RawDeltaSize 72816 (71.1 KB)
TotalDestinationSizeChange 18152 (17.7 KB)
Errors 0
-------------------------------------------------
Делаем полный бекап:
duplicity --no-encryption --full /home/crusat/www/crusat file:///mnt/backup/full/
При необходимости, можно исключить файлы с помощью опции --exclude
.
Восстанавливаем бекап:
duplicity --no-encryption restore file:///mnt/backup/incremental/ /home/crusat/www/crusat
Восстанавливаем бекап трехдневной давности:
duplicity -t 3D --no-encryption restore file:///mnt/backup/incremental/ /home/crusat/www/crusat
Восстанавливаем конкретный файл:
duplicity --no-encryption --file-to-restore FILENAME file:///mnt/backup/incremental/ /home/crusat/www/crusat
Все работает через scp, поэтому можно делать так:
duplicity --no-encryption /home/crusat/www/crusat scp:///user@backup.ru/incremental/
Добавляем в cron для ежедневных бекапов:
crontab -e
# добавляем через любимый редактор задачу на час ночи ежедневно
0 1 * * * duplicity --no-encryption /home/crusat/www/crusat file:///mnt/backup/incremental/
Всем спасибо за внимание.