В настоящее время я создаю резервную копию своего сервера Fedora Linux, используя rsync
и локальный USB-накопитель. Пока что это соответствует моим потребностям, но я подозреваю, что есть более эффективные способы сделать это. Давным-давно я использовал ленту, но резервная копия на ленту большого размера для резервного копирования моего сервера сейчас стоит далеко за пределами моего ценового диапазона. Что-нибудь автоматическое было бы лучше. Хотя я полагаю, что мог бы автоматизировать свой текущий rsync
резервного копирования, это означало бы, что USB-накопитель должен быть постоянно включен.
Мысли?
Решение, которое я использую, чтобы найти друга, который не против разместить у себя дома небольшой сервер без вентилятора. Затем у меня есть автоматизированный сценарий rsync, который запускается в течение ночи для синхронизации моих данных с удаленным местоположением.
Я делаю резервную копию своего сервера с помощью двуличие на amazon S3. Я делаю полную резервную копию каждый квартал и наращиваю ее каждую ночь. Работает неплохо.
я использую rsnapshot который использует rsync и действительно хорошо выполняет инкрементное / полное резервное копирование.
Я написал сценарий оболочки, который запускаю из задания cron для монтирования диска, запускаю rsnapshot, а затем размонтирую диск, чтобы он не монтировался все время.
Вот сценарии, которые я использую. Первый - это /usr/local/sbin/backup.sh, который по сути представляет собой оболочку вокруг сценария, который выполняет реальную работу, фиксирует его вывод и статус выхода, а затем отправляет результаты по электронной почте в root:
#!/bin/sh
#
# Run the dobackup script, capturing the output and then mail it to the
# backup alias person with the right subject line.
#
BACKUP_TYPE=daily
if [ "a$1" != "a" ] ; then
BACKUP_TYPE=$1
fi
/usr/local/sbin/dobackup.sh ${BACKUP_TYPE} < /dev/null > /tmp/backup.txt 2>&1
RET=$?
SUBJECT="${BACKUP_TYPE} backup for $(hostname) (ERRORS)"
if [ "a$RET" = "a0" ] ; then
SUBJECT="${BACKUP_TYPE} backup for $(hostname) (successful)"
elif [ "a$RET" = "a2" ] ; then
SUBJECT="${BACKUP_TYPE} backup for $(hostname) (WARNINGS)"
fi
mail -s "$SUBJECT" root < /tmp/backup.txt
exit $RET
А вот /usr/local/sbin/dobackup.sh - настоящая рабочая лошадка:
#!/bin/sh
#
# Perform the backup, returning the following return codes:
#
# 0 - backup successful
# 1 - errors
# 2 - backup successful, but with warnings.
#
if [ -e /dev/sdb1 ] ; then
BACKUP_DEV=/dev/sdb1
else
echo "No backup device available."
echo "CANNOT CONTINUE WITH BACKUP."
exit 1
fi
BACKUP_DIR=/mnt/backup
BACKUP_TYPE=daily
if [ "a$1" != "a" ] ; then
BACKUP_TYPE=$1
fi
echo "Performing ${BACKUP_TYPE} backup."
umount $BACKUP_DEV 2> /dev/null
mount $BACKUP_DEV $BACKUP_DIR
if [ "a$?" != "a0" ] ; then
echo "Error occurred trying to mount the external drive with the following command:"
echo " mount $BACKUP_DEV $BACKUP_DIR"
echo "CANNOT CONTINUE WITH BACKUP."
exit 1
fi
date
rsnapshot $BACKUP_TYPE
RET=$?
date
if [ "a$RET" = "a0" ] ; then
echo "Snapshot performed successfully."
elif [ "a$RET" = "a2" ] ; then
echo "Snapshot performed, but with warnings."
else
echo "Snapshot had errors (returned ${RET})."
fi
umount $BACKUP_DIR
if [ "a$?" != "a0" ] ; then
echo "Error occurred trying to unmount the external drive with the following command:"
echo " umount $BACKUP_DIR"
exit 1
fi
exit $RET
Измените BACKUP_DEV
и BACKUP_DIR
переменные по своему усмотрению.
я использую грязный делать резервные копии на USB-накопители. У меня есть несколько сценариев, созданных для монтирования активного диска, у меня есть 3, в нужную точку файловой системы, а затем запуска резервных копий.
Dirvish - это просто сценарий Perl, который вызывает rsync со многими параметрами:
Большинство ответов в этом вопросе также применимы здесь. Большинство упомянутых инструментов отлично работают в Linux.
Взгляни на rdiff-резервное копирование. Не помешает оставить на USB-накопителе. По крайней мере недорого. В простое они не потребляют много энергии.
Как показывают другие ответы, использование rsync (и / или оболочки вокруг rsync) - это простой способ сделать резервную копию сервера Linux. О чем следует помнить:
--delete
вариант, возможно, вы не сможете восстановить файлы, которые не собирались удалять. Второй локальный диск, вероятно, является самым дешевым вариантом быстрого восстановления файлов в случае выхода из строя основного диска, но он не поможет, если в ваш дом ударит молния (или если ваш дешевый удлинитель перегорит). С таким большим количеством решений резервного копирования за 5 долларов в месяц, неплохо использовать и то, и другое.