Prosíme přihlašte se nebo zaregistrujte.

Přihlašte se svým uživatelským jménem a heslem.
Vaše pomoc je stále potřeba!

Autor Téma: backup skript  (Přečteno 2554 krát)

Pakrik

  • Návštěvník
  • Příspěvků: 37
backup skript
« kdy: 02 Listopadu 2011, 22:12:26 »
mmm potreboval by som napisat nejaky skript na automaticky backup pomocou cronetabu aj s logom , zdroj by bolo lokalne pc s pripojenim ssh a ciel server s pripojenim cez sambu , samozrejme backup hadzat do tar.gz . No nejako sa stoho nemozem vysomarit :D pomozete prosim ?

starenka

  • Stálý člen
  • **
  • Příspěvků: 1276
  • Karma: plynová [zapalovač] [hasičák]
    • /home/starenka
Re:backup skript
« Odpověď #1 kdy: 03 Listopadu 2011, 00:13:19 »
mojenka | blozinek v2 | starej blozinek | krotim hady za penize | UJ! Kalužátor

Debian testing vrní v Thinkpadu X200/bedně/EEE 900a, MasoX Tiger v lampe

Tomáš Břinčil

  • Občanské sdružení Ubuntu ČR
  • Závislák
  • ***
  • Příspěvků: 1610
  • moje obrázky ↓
    • TomasBrincil.cz
Re:backup skript
« Odpověď #2 kdy: 03 Listopadu 2011, 14:16:04 »
mmm potreboval by som napisat nejaky skript na automaticky backup pomocou cronetabu aj s logom , zdroj by bolo lokalne pc s pripojenim ssh a ciel server s pripojenim cez sambu , samozrejme backup hadzat do tar.gz . No nejako sa stoho nemozem vysomarit :D pomozete prosim ?
Už návrh je špatný.
V případě, že bys chtěl uchovávat týdenní backup a měl 12GB dat na serveru tak i v případě, že se ti nezmění jediný soubor budeš potřebovat 84GB dat pro zálohy. Hloupé ne?

Doporučím rdiff-backup což je trochu zkrášlený a chytřejší rsync. Funguje to jednoduše:
Kód: [Vybrat]
rdiff-backup /home/mlada/Plocha /home/jarda/zalohy/mladaPři první zadání se vytvoří kompletní záloha adresáře /home/mlada/Plocha do /home/jarda/zalohy/mlada.
Pokud ten samý příkaz budeš spouštět každou hodinu, tak se každou hodinu udělá pouze inkrementální záloha, tedy rozdíl poslední zálohy a aktuálního stavu. Pokud si mladá smaže soubor na ploše, přenese se pouze informace o smazání, pokud nějaký vytvoří, přenese se do zálohy. Ušetříš strašně moc místa, žádné duplicity.

Výhoda rdiff-backupu je v obnovování, protože můžeš udělat něco jako:
Kód: [Vybrat]
rdiff-backup -r 3D /home/jarda/zalohy/mlada /home/mlada/PlochaZa předpokladu, že ty zálohy tam jsou obnovíš celý obsah přesně tak jak vypadal před třemi dny.
Tady je od Petra Krčmáře hezky zpracované "howto" http://www.root.cz/clanky/zaloha-dat-pomoci-rdiff-backup/

Pokud bych to měl aplikovat na tvoje řešení, tak by to vypadalo nějak takhle:
Na obou počítačích:
Kód: [Vybrat]
sudo apt-get update && sudo apt-get upgrade
sudo apt-get install ssh rdiff-backup
A potom na počítači, kde budou uchovávané zálohy:
Kód: [Vybrat]
crontab -eTam vlož toto:
Kód: [Vybrat]
01 01 * * * rdiff-backup user@192.168.0.11::/ /home/user/zalohy >> /misto/kde/se/bude/logovat.txtKaždý den se provede záloha všech souborů a adresářů ke kterým má user přístup. Samozřejmě to jde udělat i obráceně, místo "stahování" záloh je můžeš "posílat" na počítač, kde je chceš uchovávat, ale stejně budeš potřebovat přidat veřejný klíč do known_hosts abys nemusel zadávat při připojení přes ssh zadávat heslo:
Kód: [Vybrat]
ssh-copy-id user@192.168.0.10
« Poslední změna: 03 Listopadu 2011, 14:23:08 od Tomáš Břinčil »

Pakrik

  • Návštěvník
  • Příspěvků: 37
Re:backup skript
« Odpověď #3 kdy: 03 Listopadu 2011, 19:43:49 »
no to by bolo celkom dobre riesenie , len je to zaloha SVN a zakaznik si dal podmienku ze zalohovane data starsie ako 30 dni automaticky zmazat .

jeho podmienky boli asi taketo :

-do nazvu archivu priradit timestamp
-zalohy starsie ako 30dni vymazavat
-automaticke spustanie backupu denne o 01:00
-log subory ukladat do (\\datasrv\D\svnBackup\log) samozrejme cez smb

zdroj: server:192.168...., port: 2252 , pristup cez ssh s menom:xxxxx a heslom:xxxxx , umiestnenie dat : /home/svn/repos/
ciel:\\datasrv , pristup: samba , meno: xxxxx heslo:xxxxx , umiestnenie zalohy: \\datasrv\D\svnBackup\

 :-\

Tomáš Břinčil

  • Občanské sdružení Ubuntu ČR
  • Závislák
  • ***
  • Příspěvků: 1610
  • moje obrázky ↓
    • TomasBrincil.cz
Re:backup skript
« Odpověď #4 kdy: 03 Listopadu 2011, 20:03:01 »
Timestamp má rdiff-backup by default u všech záloh. Zálohy starší X umí taky mazat. Spouštění si ovlivníš crone/crontabem. Log směrovat můžeš taky - viz můj příklad.

Nevidím v tom problém, jen neochotu učit se moderním způsobům linuxu.

Pakrik

  • Návštěvník
  • Příspěvků: 37
Re:backup skript
« Odpověď #5 kdy: 07 Listopadu 2011, 20:24:23 »
Kód: [Vybrat]
#!/bin/bash



DEN=`date +%d`

TIMESTAMP=`date +%Y%m%d`

#kam zalohovat

BACKUPPATH=/home/pakrik/server

BACKUPDIR=/home/pakrik/server/$DEN

#log

#LOGFOLDER=$BACKUPPATH/log/backup_$DEN.log



echo $TIMESTAMP

echo $DEN

echo $BACKUPPATH

echo $BACKUPDIR



#vymazat posledny log

#rm -f -r $LOGFOLDER

 

  #zapis do logu 1

  # echo "Starting backup `date`" >> $LOGFOLDER



  #zapis do logu 2

  #echo "Delete last backup `date`" >> $LOGFOLDER


#vymazat archivacny adresar

rm -f -r $BACKUPDIR



#vytvorit archivacny adresar

mkdir $BACKUPDIR



  #zapis do logu 3

  #echo "Compressing and Copying to datasrv `date`" >> $LOGFOLDER



#archivacia vybranych dat

tar -zcvf $BACKUPDIR/svnbackup_$TIMESTAMP.tgz /home/pakrik/1/

 

  #zapis do logu 4

  #echo -e "Remote backup `date` SUCCESS" >> $LOGFOLDER

Tak nakoniec som dospel k niecomu takemuto ale nejako my to nechce fungovat aa ani neviem ako rozbehat vtom ten log tu je ta chyba
Kód: [Vybrat]
root@Edge:~/scripts# sh backup.sh
: not found2:
: not found10:
20111107
07
/home/pakrik/server
/home/pakrik/server/07
: not found15:
: not found18:
: not found21:
: not found26:
: not found29:
: not found32:
tar: Odstraňujem úvodné `/' z názvov súčastí
tar: /home/pakrik/1/\r: Nie je možné stat: Adresár alebo súbor neexistuje
tar (child): /home/pakrik/server/07\r\r/svnbackup_20111107\r.tgz: Nie je možné open: Adresár alebo súbor neexistuje
tar (child): Error is not recoverable: exiting now
tar: Child returned status 2
tar: Error is not recoverable: exiting now
: not found35:
: not found38:

adresar vsetko existuje ale on nieco pridava .  :-\ dik za rady , povodne som to chcel tym rdiff alebo duplicity ale zakaznik to tak nechcel chce kompletne zalohy s tym ze bude mozne do nich nahliadnut ...

 

Provoz zaštiťuje spolek OpenAlt.