Скрипт backup системы
Правила форума
Убедительная просьба юзать теги [code] при оформлении листингов.
Сообщения не оформленные должным образом имеют все шансы быть незамеченными.
Убедительная просьба юзать теги [code] при оформлении листингов.
Сообщения не оформленные должным образом имеют все шансы быть незамеченными.
- Саша
- мл. сержант
- Сообщения: 126
- Зарегистрирован: 2008-06-08 20:10:46
- Контактная информация:
Скрипт backup системы
День добрый у меня стоит сервак и + к нему поставил рядом для BACKUP'ov .
Я в этом деле новичёк подскажите пожалуйста как сделать корректно,
создать правильный скрипт чтобы выполнялось к примеру tar -cpvf /var/backup/server.tar --exclude /var/backup/ / каждую субботу в 00:00
а потом уже по ssh через scp перекидывал на бэкаповский сервер
если не сложно прощу помочь
Я в этом деле новичёк подскажите пожалуйста как сделать корректно,
создать правильный скрипт чтобы выполнялось к примеру tar -cpvf /var/backup/server.tar --exclude /var/backup/ / каждую субботу в 00:00
а потом уже по ssh через scp перекидывал на бэкаповский сервер
если не сложно прощу помочь
Услуги хостинговой компании Host-Food.ru
Тарифы на хостинг в России, от 12 рублей: https://www.host-food.ru/tariffs/hosting/
Тарифы на виртуальные сервера (VPS/VDS/KVM) в РФ, от 189 руб.: https://www.host-food.ru/tariffs/virtualny-server-vps/
Выделенные сервера, Россия, Москва, от 2000 рублей (HP Proliant G5, Intel Xeon E5430 (2.66GHz, Quad-Core, 12Mb), 8Gb RAM, 2x300Gb SAS HDD, P400i, 512Mb, BBU):
https://www.host-food.ru/tariffs/vydelennyi-server-ds/
Недорогие домены в популярных зонах: https://www.host-food.ru/domains/
Тарифы на виртуальные сервера (VPS/VDS/KVM) в РФ, от 189 руб.: https://www.host-food.ru/tariffs/virtualny-server-vps/
Выделенные сервера, Россия, Москва, от 2000 рублей (HP Proliant G5, Intel Xeon E5430 (2.66GHz, Quad-Core, 12Mb), 8Gb RAM, 2x300Gb SAS HDD, P400i, 512Mb, BBU):
https://www.host-food.ru/tariffs/vydelennyi-server-ds/
Недорогие домены в популярных зонах: https://www.host-food.ru/domains/
- hizel
- дядя поня
- Сообщения: 9032
- Зарегистрирован: 2007-06-29 10:05:02
- Откуда: Выборг
Re: Скрипт backup системы
use rsync, Luke
В дурацкие игры он не играет. Он просто жуткий, чу-чу, паровозик, и зовут его Блейн. Блейн --- это Боль.
- Саша
- мл. сержант
- Сообщения: 126
- Зарегистрирован: 2008-06-08 20:10:46
- Контактная информация:
Re: Скрипт backup системы
thanks это идеальное решение) для того что я хочу!hizel писал(а):use rsync, Luke
http://www.lissyara.su/articles/freebsd ... mms/rsync/
- thefree
- лейтенант
- Сообщения: 980
- Зарегистрирован: 2008-12-29 9:23:19
- Откуда: Весёлая Страна
Re: Скрипт backup системы
backuppc - я вот использую
Не судите меня строго, Я не волшебник, а только учусь!
http://planetbsd.ru - RSS-агрегатор *BSD по Рунету
http://planetbsd.ru - RSS-агрегатор *BSD по Рунету
- Саша
- мл. сержант
- Сообщения: 126
- Зарегистрирован: 2008-06-08 20:10:46
- Контактная информация:
Re: Скрипт backup системы
постой он же экскрементно работает ... следовательно все сбои будет клонить так же (если админ отлучился на пол месяца к примеру)hizel писал(а):use rsync, Luke
а вот если систему в tar заворачивать и на внешний сервак складывать не эффективнее будет?
-
- лейтенант
- Сообщения: 693
- Зарегистрирован: 2009-06-14 7:02:26
Re: Скрипт backup системы
ааааа, шьорт побьери. Люди, учите русский язык.Саша писал(а):постой он же экскрементно работает ... следовательно все сбои будет клонить так же (если админ отлучился на пол месяца к примеру)
а вот если систему в tar заворачивать и на внешний сервак складывать не эффективнее будет?
-
- ст. лейтенант
- Сообщения: 1375
- Зарегистрирован: 2010-02-05 0:21:40
Re: Скрипт backup системы
man rsyncСаша писал(а):постой он же экскрементно работает ... следовательно все сбои будет клонить так же (если админ отлучился на пол месяца к примеру)hizel писал(а):use rsync, Luke
а вот если систему в tar заворачивать и на внешний сервак складывать не эффективнее будет?
/-b
/--backup-dir
-
- сержант
- Сообщения: 221
- Зарегистрирован: 2008-03-20 23:00:42
Re: Скрипт backup системы
можно бекапить инкрементально, каждый бекап ложить в отдельную папку, а неизменяющиеся файлы хардлинковать. + сжатие трафика, если критично.Саша писал(а):постой он же экскрементно работает ... следовательно все сбои будет клонить так же (если админ отлучился на пол месяца к примеру)hizel писал(а):use rsync, Luke
а вот если систему в tar заворачивать и на внешний сервак складывать не эффективнее будет?
преимущества: можно грохать любой старый бекап (каталог); благодаря хардлинкованию - меньше места; восстановление хоть тупым копированием хоть рсинком; старые бекапы можно неспешно сжимать на бекапном, не нагружая основной сервер; нормальный доступ к любому файлу бекапа, без танцев с [s]бубном[/s] таром.
- thefree
- лейтенант
- Сообщения: 980
- Зарегистрирован: 2008-12-29 9:23:19
- Откуда: Весёлая Страна
Re: Скрипт backup системы
backuppc
Не судите меня строго, Я не волшебник, а только учусь!
http://planetbsd.ru - RSS-агрегатор *BSD по Рунету
http://planetbsd.ru - RSS-агрегатор *BSD по Рунету
- ADRE
- майор
- Сообщения: 2645
- Зарегистрирован: 2007-07-26 8:53:49
- Контактная информация:
-
- лейтенант
- Сообщения: 693
- Зарегистрирован: 2009-06-14 7:02:26
Re: Скрипт backup системы
это называется rsnapshotOverseer писал(а): можно бекапить инкрементально, каждый бекап ложить в отдельную папку, а неизменяющиеся файлы хардлинковать. + сжатие трафика, если критично.
преимущества: можно грохать любой старый бекап (каталог); благодаря хардлинкованию - меньше места; восстановление хоть тупым копированием хоть рсинком; старые бекапы можно неспешно сжимать на бекапном, не нагружая основной сервер; нормальный доступ к любому файлу бекапа, без танцев с [s]бубном[/s] таром.
-
- сержант
- Сообщения: 221
- Зарегистрирован: 2008-03-20 23:00:42
Re: Скрипт backup системы
ну я это делаю с помощью rsyncBurner писал(а): это называется rsnapshot
-
- рядовой
- Сообщения: 20
- Зарегистрирован: 2009-03-06 8:56:07
Re: Скрипт backup системы
я скрипт писал сам
Код: Выделить всё
#! /bin/sh
day=`date \+\%a` # вывод дня недели
dt=`date \+\%Y\%m\%d` # дата в формате 20091231
dt1=`date \+\%d.\%m.\%Y` # дата в формате 2009.12.31
dt8=`date -v-8d \+\%d.\%m.\%Y` # дата в формате 2009.12.31 минус 7 дней
dt14=`date -v-14d \+\%d.\%m.\%Y` # дата в формате 2009.12.31 минус 14 дней
old8=`date -v-8d \+\%Y\%m\%d` # получаем дату которая была 8 дней назад
old3=`date -v-3d \+\%Y\%m\%d` # получаем дату которая была 3 дня назад
rsync="/usr/local/bin/rsync" # rcync место нахождения
mounts="//administrator@server/backup" # сетевой ресурс который монтируем
in="/backup" # исходная папка
out="/shares/gm4/Pub/" # конечная папка
out1="/shares/gm4/Pub/backup" # конечная папка
out2="/shares/gm4/Pub/backup/week" # конечная папка
log="/shares/gm4/Pub/backup/log/$dt1-log.doc" # куда пишем лог
log1="/shares/gm4/Pub/backup/log/$dt8-log.doc" # лог 8 дней назад
inc=--include # исключаем
exc=--exclude # включаем
nam0="rsync" # имя скрипта
nam1="rar" # имя файла для проверки
#sleep 10
echo " " >> $log
echo "0. Время начала скрипта:" `date` >> $log
#######################################################
########### Проверка на повторный запуск ##############
echo "1. Проверка на запуск копии ..." >> $log
rn0=`ps -ax | grep -c $nam0`
echo "rn0 = "$rn0
if !(test $rn0 -gt "2")
then
echo "2. Скрипт уже запущен!!!" >> $log
exit 2;
else
echo "2. Скрипт запускается..." >> $log
fi
########################################################
echo "3. Монтирую сетевой диск..." >> $log
mount_smbfs -N $mounts $in && # монтируем сетевой каталог
#######################################################
########### Проверяем подмонтировалась ли папка #######
rn1=`ls -l $in | grep -c $nam1`
echo "rn1 = "$rn1
if !(test $rn1 -gt "0")
then
echo "4. Сетевой диск не примонтирован!!!" >> $log
umount $in
exit 0;
else
echo "4. Сетевой диск примонтирован..." >> $log
fi
######################################################
########## Синхронизация папок #######################
echo "5. Синхронизация..." >> $log
$rsync -auxS --progress $inc '*.rar' $exc 'tmp' $exc '*.*' $in $out && >> $log # синхронизируем файлы с раширением rar
echo " " >> $log
rn2=`ls -l $out1 | grep -c base$dt.rar`
echo "rn2 = "$rn2
if !(test $rn2 -gt "0")
then
echo "6. Базы не синхронизировались, или нет новых баз!!!" >> $log
umount $in
exit 0;
else
echo "6. Синхронизация закончена." >> $log
fi
########################################################
#### Сохраняем недельный архив отдельно от всех баз ####
if [ "$day" = "Sun" ]
then
echo "7. Сохраняем недельный архив..." >> $log
mkdir "$out1/"week
#2>/dev/null
cp "$out1/"base$dt.rar "$out2"
# 2>dev/null
echo "7.1 Проверяем недельный архив..." >> $log
rn21=`ls -l $out2 | grep -c base$dt.rar`
if !(test $rn21 -gt "0")
then
echo "7.2. Недельная база не записалась!!!" >> $log
else
echo "7.2 Недельная база на месте." >> $log
fi
echo "7.3 Удаляем старые недельные базы..." >> $log
rm "$out2/"base$dt14.rar 2>/dev/null
echo "7.4 Удалено." >> $log
else
echo " 7.4 Не найдены старые недельные архивы!!!" >> $log
fi
########################################################
#### Дальше проверяем предпредпоследний архив базы #####
echo "8. Проверка архивов..." >> $log
rn3=`ls -l $in | grep -c base$old3.rar` # тут происходит поиск предпредпоследний базы
echo "old3 = "$old3
echo "rn3 = "$rn3
#Если базы нету отправляем мыло, останавливаем скрипт
if !(test $rn3 -gt "0")
then
echo "9. Warning!!! нет старых архивов!!!" >> $log
umount $in
exit 0;
# Если она есть то удаляем старые базы
else
echo "9. Все в порядке базы на месте, удаляем старые архивы!" >> $log
rm "$out/backup/"base$old8.rar 2>/dev/null # удаляем в конечной папке 8 дневные архивы
rm "$in/"base$old8.rar 2>/dev/null # удаляем в исходной папке 8 дневные архивы
rm "$log1" 2>/dev/null # удаляем в исходной папке 8 дневные логи
fi
######################################################
########### Проверяем подмонтировалась ли папка #######
echo "10. Отключаю сетевой диск..." >> $log
umount $in
rn4=`ls -l $in | grep -c $nam1`
echo "rn4 = "$rn4
if !(test $rn4 -gt "0")
then
echo "11. Сетевой диск отмонтирован!!" >> $log
echo "12. Скрипт завершен в:" `date` >> $log
exit 0;
else
echo "13. Не смог отмонтировать сетевой диск!!!" >> $log
cd $out
umount $in
fi