Автоматическое резервное копирование папки

У меня есть одна конкретная папка на моем linux-боксе, которую я хотел бы полностью скопировать и иметь возможность «вернуться назад во времени» в файле и увидеть все предыдущие ревизии.

Чтобы добавить сложности, эта папка является общей (со встроенными инструментами общего доступа) и доступна и записывается на машине Windows. По этой причине я хотел бы, чтобы резервная копия была записана в место, где машина Windows не имеет доступа.

Как мне это настроить?

4
задан 28 July 2014 в 16:19

3 ответа

Хорошо я использую следующий сценарий для своего резервного копирования:

#! /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 файл, который это использовало для уведомлений, может быть загружен отсюда .

  1. Сохраняют сценарий в /home/<USERNAME>/Scripts как backup.sh

  2. Выполнение следующие команды:

    chmod +x Scripts/backup.sh
    mkdir .Backups
    touch .Backups/backup-2000-01-01-00:00.tar.gz
  3. Тогда добавляют команду Scripts/./backup.sh к запуску в приложениях входа в систему. Даже если Вы входите в систему больше чем в один раз за день, Вы только получаете 1 резервное копирование.

    ИЛИ

    Вы могли также использовать крон для выполнения сценария регулярно. Отредактируйте его с помощью crontab -e и добавьте эту строку до конца:

    0 15 * * *    bash /path/to/script/backup.sh
    
6
ответ дан 28 July 2014 в 16:19

Решением, которое я выбрал в конце, было что-то позвонившее "Назад во времени". Я установил резервный интервал на 5 минут, и он создает резервную копию моих определенных папок к другому местоположению и позволяет мне возвращаться через снимки, которые он берет.

http://backintime.le-web.org/

1
ответ дан 28 July 2014 в 16:19

Я провел немного исследования и искал утилиты резервного копирования GUI, которые поддерживают, по крайней мере, Linux (они имели тенденцию быть межплатформенными). Я также хотел хорошие возможности автоматизации/интервала. Это мои 3 главных выбора, от того, что я считал обзоров и могу сказать от интуиции, все непротестированные:

  1. Назад во времени (См. документация для снимков экрана)
  2. fwbackups
  3. grsync (GUI для rsync)

, Надо надеяться, который помогает сэкономить другим некоторое время. Существует много утилит резервного копирования там, но немногие с твердо выглядящим GUI для Linux, который, казалось, был современен.

Поощрительная премия: Duplicati, хотя я использовал его прежде в Windows и я не очень любил его нестабильность. Мои резервные копии становились поврежденными или glitchy. Возможно, в конечном счете они устранят эти проблемы.

0
ответ дан 7 October 2019 в 10:54

Другие вопросы по тегам:

Похожие вопросы: