У меня есть одна конкретная папка на моем linux-боксе, которую я хотел бы полностью скопировать и иметь возможность «вернуться назад во времени» в файле и увидеть все предыдущие ревизии.
Чтобы добавить сложности, эта папка является общей (со встроенными инструментами общего доступа) и доступна и записывается на машине Windows. По этой причине я хотел бы, чтобы резервная копия была записана в место, где машина Windows не имеет доступа.
Как мне это настроить?
Хорошо я использую следующий сценарий для своего резервного копирования:
#! /bin/bash
# Gets date of most recent backup.
newestfile=$(cd /home/<USERNAME>/.Backups && find . -type f -printf '%T@ %p\n' | sort -n | tail -1 | cut -f2- -d" ")
budate=`echo $newestfile| cut -c10-19`
# Gets current date
cdate=$(date --iso)
# If the cureent date is the same as the date of the most recent backup, don't run the backup, just give a notification that says it has already been done today.
if [ $cdate = $budate ]; then
echo "Backup Complete"
notify-send -i /home/<USERNAME>/Pictures/Logos/safe.png "Backup Status" "Already started/finished backup for today."
# If the dates are different, start the backup.
else
echo "Starting backup"
notify-send -i /home/<USERNAME>/Pictures/Logos/safe.png "Backup Status" "Starting backup for today."
# Compresses the files into .tar.gz format
tar -cvpzf /home/<USERNAME>/.Backups/backup-$(date +%Y-%m-%d-%H:%M).tar.gz "/home/<USERNAME>/folder/to/back/up" --exclude=.Backups && notify-send --expire-time=60000 -i /home/tim/Pictures/Home/Logos/safe.png 'Backup Status' 'Finished backup for today.'
fi
Это сохранит файл резервной копии, который похож на это:
backup-2014-07-26-13:13.tar.gz
В скрытой папке /home/<USERNAME>/.Backups
safe.png файл, который это использовало для уведомлений, может быть загружен отсюда .
Сохраняют сценарий в /home/<USERNAME>/Scripts
как backup.sh
Выполнение следующие команды:
chmod +x Scripts/backup.sh mkdir .Backups touch .Backups/backup-2000-01-01-00:00.tar.gz
Тогда добавляют команду Scripts/./backup.sh
к запуску в приложениях входа в систему. Даже если Вы входите в систему больше чем в один раз за день, Вы только получаете 1 резервное копирование.
ИЛИ
Вы могли также использовать крон для выполнения сценария регулярно. Отредактируйте его с помощью crontab -e
и добавьте эту строку до конца:
0 15 * * * bash /path/to/script/backup.sh
Решением, которое я выбрал в конце, было что-то позвонившее "Назад во времени". Я установил резервный интервал на 5 минут, и он создает резервную копию моих определенных папок к другому местоположению и позволяет мне возвращаться через снимки, которые он берет.
Я провел немного исследования и искал утилиты резервного копирования GUI, которые поддерживают, по крайней мере, Linux (они имели тенденцию быть межплатформенными). Я также хотел хорошие возможности автоматизации/интервала. Это мои 3 главных выбора, от того, что я считал обзоров и могу сказать от интуиции, все непротестированные:
, Надо надеяться, который помогает сэкономить другим некоторое время. Существует много утилит резервного копирования там, но немногие с твердо выглядящим GUI для Linux, который, казалось, был современен.
Поощрительная премия: Duplicati, хотя я использовал его прежде в Windows и я не очень любил его нестабильность. Мои резервные копии становились поврежденными или glitchy. Возможно, в конечном счете они устранят эти проблемы.