Linux за българи: Форуми

Програмиране => Общ форум => Темата е започната от: theshit в Apr 04, 2014, 20:02



Титла: ежедневен backup
Публикувано от: theshit в Apr 04, 2014, 20:02
Здравейте,
с малко четене си написах скриптове за дневен, седмичен и месечен бекъп на определени директории на машината. Обаче може би издребнявам, но се чудех дали не съм в лека грешка. Понеже нямам много дисково пространство и не желая да правя колекция от ежедневни, ежеседмични и ежемесечни бекъпи, съм си направил скриптовете така, че да ги презаписват. Въпроса ми е - лошо ли е новия бекъп файл да се презаписва върху стария, без той да се трие? В команди изглежда така:

1. направо презаписва новия върху стария бекъп файл
Код:
#! /bin/bash
tar czPf /home/backup/home_daily.tar.gz /home --exclude=backup

2. за което се колебая да добавя rm команда
Код:
#! /bin/bash
rm /home/backup/*daily* && tar czPf /home/backup/home_daily.tar.gz /home --exclude=backup

ps. слагам rm на *daily* понеже, бекъпвам още неща от сорта на www_daily И mysql_daily


Титла: Re: ежедневен backup
Публикувано от: jet в Apr 04, 2014, 22:18
добрите практики съветват да въртиш ахивите (според дисковото пространство) можещ да въртиш два архива: текущ и предишен
ето и един добър скрипт, който пази промените като стари версии и архивира само промените
http://www.noah.org/wiki/Rsync_backup ($2)


Титла: Re: ежедневен backup
Публикувано от: Naka в Apr 04, 2014, 23:10
Въпроса ми е - лошо ли е новия бекъп файл да се презаписва върху стария, без той да се трие?

Много е лошо.
по добре си номерирай бакупа с дата и винаги дръж поне 2 бакупа. като старият може да го триеш

Код:
cd /
file_name="full-backup-home-`date '+%d-%B-%Y'`"

tar cpzvf /home/backup/"$file_name".tar.gz --directory / \
--exclude=home/backup \
--exclude=home/mail \
--exclude=home/httpd-log \
home

sha1sum /home/backup/"$file_name".tar.gz > /home/backup/"$file_name".SHA1

опцията 'p' е много важна защото запазва пермишъните. голямото 'P' не ти трябва.


Титла: Re: ежедневен backup
Публикувано от: stealth01 в Apr 04, 2014, 23:54
ето и един добър скрипт, който пази промените като стари версии и архивира само промените
http://www.noah.org/wiki/Rsync_backup ($2)
мдам...
аз ползвам duplicity ($2).
в началото на месеца правя пълен бекъп, след това само пише промени. доста възможности има - крипиране, различини протоколи - може да мяташ на отдалечени машини - ssh, ftp, разни облаци...


Титла: Re: ежедневен backup
Публикувано от: pennywise в Apr 05, 2014, 00:05
Аз имам скрипт който изтрива по-старите от х дни, като при мен върви веднъж в седмицат и държа от 35 дни назад, което ще рече 5 архива като в скрипта е само за уеб папката и MySQl базите, иначе имам рсинк на локалната машина всеки ден да сваля определени папки от сървъра в това число и тези бекъпи.


Титла: Re: ежедневен backup
Публикувано от: theshit в Apr 09, 2014, 19:40
Колеги, дайте ми някакъв разумен практичен съвет с аргументи за това как да вътря backup-ите.

Настроих си системата да backup-ва и трие стари backup-и, въпросът ми е:

1. Колко на често да backup-ва
2. И колко трябва да е стар backup-a за да го изтрие

Искам да се съобразя с това да въртя 3-4 backupa и да са на разумен интервал от време, защото примерно, нямам смисъл да наглася да се backup-ва всеки ден, и да трие 10 дена назад, при положение, че нещо се прецака и ако го забележа след 10 дена - backup-а да го няма ...  ??? ??? ???


Титла: Re: ежедневен backup
Публикувано от: laskov в Apr 09, 2014, 20:53
Имаше една статия в сайта ... http://www.google.bg/webhp?nord=1#nord=1&q=site:linux-bg.org+%D1%81%D1%82%D0%B0%D1%82%D0%B8%D1%8F+backup
... ама ме мързи да я търся...


Титла: Re: ежедневен backup
Публикувано от: neter в Apr 09, 2014, 23:29
Човекът тук го е описал достатъчно добре:
Using rsync and cron to automate incremental backups ($2)
Без tar и други архиватори, без пазене на няколко архива от вид, без пазене на повтарящи се файлове, по-малко ежедневно писане по диска, по-малко заето пространство от архивите...


Титла: Re: ежедневен backup
Публикувано от: theshit в Apr 10, 2014, 22:09
това е страхотно, но искам да синхронизирам с друга машина, за съжаление имам само Window-ски лаптоп, дали има rsync за Windows? Търсих из форума и Google, но не открих резултат?

Инсталирах си виртуална машина с Debian на Window-ската и така става ... но много товари, няма ли начин да пусна rsync на Windowsa ? Че да си бекъпвам там целия сървър (който не е голям, но настройки много)

пс: намерих точно това, което търсех: http://www.trueblade.com/knowledge/using-rsync-and-cygwin-to-sync-files-from-a-linux-server-to-a-windows-notebook-pc

благодаря на всички за отделеното време :)


Титла: Re: ежедневен backup
Публикувано от: neter в Apr 10, 2014, 22:54
това е страхотно, но искам да синхронизирам с друга машина, за съжаление имам само Window-ски лаптоп, дали има rsync за Windows?
Наскоро се наложи да си поиграя с cwRsync ($2). Препоръчвам ти го. Безплатната версия ти е достатъчна. Пак е комбинация от Cygwin и Rsync, но е готов пакет без инсталация и само с най-необходимото. Имаш ssh-keygen вътре за генериране на SSH ключ, за да не пишеш пароли в скрипта, а командите се въвеждат в приготвен за целта файл с име cwrsync.cmd. Единствената (не е задължителна, но е препоръчителна, за да не пишеш пълни пътища до командите) работа, която трябва да свършиш извън cwrsync.cmd скрипта е да си добавиш пътя до разархивирания cwRsync в променливата на средата PATH на Windows. А, да, и да си впишеш cwrsync.cmd файла в Task Scheduler-а, за да се изпълнява всяка нощ (да, с безплатния cwRsync Windows-ът е този, от който се изпълнява процесът по синхронизация, независимо в коя посока, тъй като в пакета няма SSH демон).