Программа для Backup

albion
На сайте с 07.10.2005
Offline
247
930

Посоветуйте программу для бекапа (желательно free, но не обязательно) для Win с возможность бекапить каталоги на сетевой диск ежедневно (с накоплением в течении X дней), раз в месяц (с накоплением X месяцев).

Hixon10
На сайте с 21.08.2010
Offline
125
#1

Acronis Backup & Recovery - вроде бы эта тулза умеет, но она платная (смотрите сначала демку перед покупкой).

Веду свой невзрачный блог (http://hixon.ru/).
grey109
На сайте с 15.06.2005
Offline
139
#2

cobian backup

AlexStep
На сайте с 23.03.2009
Offline
318
#3

GoodSync....

albion
На сайте с 07.10.2005
Offline
247
#4

всем большое спасибо. Подобрал программу чуть раньше, чем был первый ответ. Сейчас тестирую.

TF-Studio
На сайте с 17.08.2010
Offline
321
#5

название бы написали

Всё ещё лучший способ заработка для белых сайтов: GoGetLinks (https://www.gogetlinks.net/?inv=fahbn8).
DV
На сайте с 01.05.2010
Offline
644
#6

Дописал скрипт полного бэкапа по сценарию.

Абсолютные пути для FreeBSD, вдумчиво переделываются под Linux.

Подключаем внешний или сетевой диск, # gbackup и ждём…

#!/bin/sh

# $Id: gbackup 9 2015-05-21 19:11:33Z denis $
##### Скрипт общего бэкапа
# Конфигурационные файлы разместить в /usr/home/<user>/.config/gbackup
# Основной файл скрипта разместить в /usr/sbin, сделать исполняемым
# files_common.txt — общий бэкап, новый подменяет старый
# files_unic.txt — уникальный бэкап, новый пишется с другой версией по времени
# Формат конфигов: /полный/путь/до/директории|субдиректория_группа,
# Копируется именно последняя директория пути в субдиректорию
# Решётка отключает строку
# gbackup.conf содержит настройки в формате ИМЯ_ПАРАМЕТРА=ЗНАЧЕНИЕ
# MEDIA_PATH=/mnt/flash путь к смонтированному носителю
# На носителе создаётся структура:
# <mountpoint>/BACKUP/UNIC/<time>
# <mountpoint>/BACKUP/COMMON
# <mountpoint>/BACKUP/COMMON_BAK
# Перед началом COMMON переименовывается в COMMON_BAK
# В процессе, после копирования директории в COMMON, старая версия удаляется из COMMON_BAK
# @TODO Сделать опциональное архивирование

DATE=`date "+%Y%m%d_%H%M"`
COMMENT1=$1
COMMENT2=$2
#echo ${COMMENT2}
#echo ${COMMENT1}
SAVEIFS=$IFS # устанавливаем разделитель строк
IFS='
'
MEDIA_PATH=`/bin/cat ~/.config/gbackup/gbackup.conf | /usr/bin/grep MEDIA_PATH | /usr/bin/awk -F= '{print $2}'`
# Преобразуем переносы Windows, сливаем во временный файл
/bin/cat ~/.config/gbackup/files_unic.txt | sed -e 's/'"`printf '\015'`"'$//' > /tmp/${DATE}.unic
FILES_UNIC_LIST=`/bin/cat /tmp/${DATE}.unic | /usr/bin/grep -v \# | /usr/bin/grep \/ | sort -u`
rm -f /tmp/${DATE}.unic
# Преобразуем переносы Windows, сливаем во временный файл
/bin/cat ~/.config/gbackup/files_common.txt | sed -e 's/'"`printf '\015'`"'$//' > /tmp/${DATE}.common
FILES_COMMON_LIST=`/bin/cat /tmp/${DATE}.common | /usr/bin/grep -v \# | /usr/bin/grep \/ | sort -u`
rm -f /tmp/${DATE}.common

BACKUP_PATH_EXIST=`/bin/ls -l ${MEDIA_PATH} | grep BACKUP | awk '{print $9}'`
if [ "${BACKUP_PATH_EXIST}" = "" ]; then
echo Директория BACKUP отсутствует, создаём.
/bin/mkdir -p ${MEDIA_PATH}/BACKUP
fi

COMMON_PATH_EXIST=`/bin/ls -l ${MEDIA_PATH}/BACKUP | grep COMMON | grep -v COMMON_BAK | awk '{print $9}'`
if [ "${COMMON_PATH_EXIST}" = "" ]; then
echo Директория COMMON отсутствует, создаём.
/bin/mkdir -p ${MEDIA_PATH}/BACKUP/COMMON
fi
if [ "${COMMON_PATH_EXIST}" = "COMMON" ]; then
echo Директория COMMON присутствует.

COMMON_BAK_PATH_EXIST=`/bin/ls -l ${MEDIA_PATH}/BACKUP | grep COMMON_BAK | awk '{print $9}'`
if [ "${COMMON_BAK_PATH_EXIST}" = "COMMON_BAK" ]; then
echo Директория COMMON_BAK присутствует, удаляем.
/bin/rm -rf ${MEDIA_PATH}/BACKUP/COMMON_BAK
fi
echo Переименовываем COMMON в COMMON_BAK.
mv ${MEDIA_PATH}/BACKUP/COMMON ${MEDIA_PATH}/BACKUP/COMMON_BAK
#Строка выше просто переименовывает, а ниже переносит всё из одной директории в другую. На кой сочинял, не знаю
#find ${MEDIA_PATH}/BACKUP -name 'COMMON' -print0 | xargs -0 -J % mv % ${MEDIA_PATH}/BACKUP/COMMON_BAK
echo Создаём новую COMMON
/bin/mkdir -p ${MEDIA_PATH}/BACKUP/COMMON
fi
UNIC_PATH_EXIST=`/bin/ls -l ${MEDIA_PATH}/BACKUP | grep UNIC | awk '{print $9}'`
if [ "${UNIC_PATH_EXIST}" = "" ]; then
echo Директория UNIC отсутствует, создаём.
/bin/mkdir -p ${MEDIA_PATH}/BACKUP/UNIC
fi
/bin/mkdir -p ${MEDIA_PATH}/BACKUP/UNIC/${DATE} # Создаём директорию с именем "дата время"



for DIR_UNIC in ${FILES_UNIC_LIST}; do
echo ---------------------------------------------------------
DIR_UNIC_SOURCE=`echo ${DIR_UNIC} | awk -F\| '{print $1}'`
DIR_UNIC_SUBDIR=`echo ${DIR_UNIC} | awk -F\| '{print $2}'`
echo ${DIR_UNIC_SOURCE} \=\> ${DIR_UNIC_SUBDIR}
UNIC_SUBDIR_EXIST=0 # сбасываем маркер наличия директории
UNIC_SUBDIR_EXIST_LIST=`/bin/ls ${MEDIA_PATH}/BACKUP/UNIC/${DATE}/` #Список имеющихся директорий

for CURRENT_UNIC_SUBDIR in ${UNIC_SUBDIR_EXIST_LIST}; do
echo CURRENT_UNIC_SUBDIR=${CURRENT_UNIC_SUBDIR}
if [ "${CURRENT_UNIC_SUBDIR}" = "${DIR_UNIC_SUBDIR}" ]; then
echo "Директория ${DIR_UNIC_SUBDIR} найдена!"
UNIC_SUBDIR_EXIST=1
break 1
fi
done
if [ "${UNIC_SUBDIR_EXIST}" = "0" ]; then
echo Директория ${DIR_UNIC_SUBDIR} отсутствует, создаём.
/bin/mkdir -p ${MEDIA_PATH}/BACKUP/UNIC/${DATE}/${DIR_UNIC_SUBDIR}
fi
echo Копирование ${DIR_UNIC_SOURCE}
/bin/cp -Rfx "${DIR_UNIC_SOURCE}" ${MEDIA_PATH}/BACKUP/UNIC/${DATE}/${DIR_UNIC_SUBDIR}
done


for DIR_COMMON in ${FILES_COMMON_LIST}; do
echo ---------------------------------------------------------
DIR_COMMON_SOURCE=`echo ${DIR_COMMON} | awk -F\| '{print $1}'` # Полный путь копируемой директории
BACKUP_SUBDIR=`echo ${DIR_COMMON_SOURCE} | awk -F \/ '{print $NF}'` # Копируемая директория (относительная)
DIR_COMMON_SUBDIR=`echo ${DIR_COMMON} | awk -F\| '{print $2}'` # Субдиректория-группа, в которую копируются директории.
echo "Копируемая директория " ${BACKUP_SUBDIR}
echo DIR_COMMON_SUBDIR субдиректория-группа,куда копируются директории:
echo ${DIR_COMMON_SOURCE} \=\> ${DIR_COMMON_SUBDIR}
COMMON_SUBDIR_EXIST=0 # сбасываем маркер наличия директории
COMMON_SUBDIR_EXIST_LIST=`/bin/ls ${MEDIA_PATH}/BACKUP/COMMON/` #Список имеющихся директорий

for CURRENT_COMMON_SUBDIR in ${COMMON_SUBDIR_EXIST_LIST}; do
echo CURRENT_COMMON_SUBDIR=${CURRENT_COMMON_SUBDIR}
if [ "${CURRENT_COMMON_SUBDIR}" = "${DIR_COMMON_SUBDIR}" ]; then
echo "Директория ${DIR_COMMON_SUBDIR} найдена!"
COMMON_SUBDIR_EXIST=1
break 1
fi
done
if [ "${COMMON_SUBDIR_EXIST}" = "0" ]; then
echo Директория ${DIR_COMMON_SUBDIR} отсутствует, создаём.
/bin/mkdir -p ${MEDIA_PATH}/BACKUP/COMMON/${DIR_COMMON_SUBDIR}
fi
echo Копирование ${DIR_COMMON_SOURCE}
/bin/cp -Rfx "${DIR_COMMON_SOURCE}" ${MEDIA_PATH}/BACKUP/COMMON/${DIR_COMMON_SUBDIR}
# Берём текущий путь бэкапа COMMON и трансформируем в COMMON_BAK
CURRENT_COMMON_BAK_SUBDIR=`echo ${MEDIA_PATH}/BACKUP/COMMON/${DIR_COMMON_SUBDIR} | sed 's/\/BACKUP\/COMMON\//\/BACKUP\/COMMON_BAK\//g'`
CURRENT_COMMON_BAK_SUBDIR=`echo ${CURRENT_COMMON_BAK_SUBDIR}/${BACKUP_SUBDIR}` # Удалить надо это!
echo Удаляем из предыдущего бэкапа: ${CURRENT_COMMON_BAK_SUBDIR}
/bin/rm -rf ${CURRENT_COMMON_BAK_SUBDIR}
done
IFS=$SAVEIFS # Возвращаем разделитель строк

# $Id: files_common.txt 9 2015-05-21 19:11:33Z denis $

# Общий бэкап, новый подменяет старый
/etc|config_etc
/usr/local/etc|config
/usr/home/denis/.config/deadbeef|config
/usr/home/denis/.netbeans|config
/usr/home/denis/.baresip|config
/usr/home/denis/.config/ssh|config
/usr/home/denis/.config/lxpanel|config
/usr/home/denis/.config/mc|config
/usr/home/denis/.config/openbox|config
/usr/home/denis/.config/xfe|config
/usr/home/denis/.kde4/share/apps/krusader|config
/usr/home/denis/.claws-mail|data
/usr/home/denis/.mucommander|config
/usr/home/denis/.purple|data
/usr/home/denis/.Skype|config
/usr/home/denis/.config/geany|config

/usr/home/denis/Store/BACKUP/sites/dev|backup
/usr/home/denis/Store/BACKUP/sites/current|backup
/usr/home/denis/Store/CDimg|backup
/usr/home/denis/Store/soft|backup
#/usr/home/denis/Store/Музыка|data

# $Id: files_unic.txt 9 2015-05-21 19:11:33Z denis $

# Уникальный бэкап, новый пишется с другой версией по времени
/usr/home/denis/.thunderbird|data
/usr/home/denis/Desktop|data
/home/denis/Documents|data
/usr/home/denis/.avatars|data
/usr/home/denis/Mail|data
/usr/home/denis/NetBeansProjects|data
/usr/home/denis/.ssh|data
/usr/home/denis/.mozilla|data

# $Id: gbackup.conf 9 2015-05-21 19:11:33Z denis $

SOME_PARAM=somevalue
MEDIA_PATH=/mnt/flash
VDS хостинг ( http://clck.ru/0u97l ) Нет нерешаемых задач ( https://searchengines.guru/ru/forum/806725 ) | Перенос сайтов на Drupal 7 с любых CMS. ( https://searchengines.guru/ru/forum/531842/page6#comment_10504844 )

Авторизуйтесь или зарегистрируйтесь, чтобы оставить комментарий