Freesco, NND, CDN, EOS
http://forum.freesco.pl/

Nazywanie plikow - zmienne - skrypt
http://forum.freesco.pl/viewtopic.php?f=22&t=15599
Strona 1 z 1

Autor:  TheL [ wtorek, 3 lipca 2007, 08:39 ]
Tytuł:  Nazywanie plikow - zmienne - skrypt

Chcialem sobie codziennie robic kopie katalogu /etc i uzywam do tego polecenia:
tar -c -v -f /home/etc.tar etc
ale chcialbym aby nazwa pliku automatycznia miala dodawana date i zeby nazywala sie np: etc-03-07-07.tar, jak to mozna zrobic ?
Dzieki temu chce robiec kopie codziennie odpowiednich katalogow dodac to do crona i miec po problemie.
W jaki sposob i czy mozna taki ztarowany plik automatem wyslac na ftp na innym serwerze chcialbym sobie zrobic serwer backupow z duzymi wydajnymi dyskami?

Autor:  qrak [ wtorek, 3 lipca 2007, 09:12 ]
Tytuł: 

: [/] [] ()
#!/bin/sh
sufix=`date +%Y-%m-%d-g%H-%M`
tar -c -v -f /home/etc-sufix.tar etc


+ rsync

Autor:  TheL [ wtorek, 3 lipca 2007, 10:47 ]
Tytuł: 

tworzy mi sie plik etc-sufix.tar czyli cos nie tak

Autor:  Maciek [ wtorek, 3 lipca 2007, 10:52 ]
Tytuł: 

Powinno być:
: [/] [] ()
tar -c -v -f /home/etc-$sufix.tar etc

Autor:  JakubC [ wtorek, 3 lipca 2007, 12:04 ]
Tytuł: 

Artykuł na ten temat masz na stronie NND.

Autor:  -MW- [ wtorek, 3 lipca 2007, 12:13 ]
Tytuł: 

ja to robie tak:

Cytuj:
tar cvfz /var/www/logi/$IPzew--`date +%Y-%m-%d-%H-%M-%S`.tar.gz /tmp/roboczy.dmp


czyli pakuje pliki roboczy.dmp z katalogu tmp na plik o nazwie odpowiadajacej ipzew opatrzony dodatkiem daty.

a wyglada to tak:
Cytuj:
174.171.171.272--2007-01-23-55-01.tar.gz


czyli robiac tak dostaniesz spakowane pliki do katalogu www.
Cytuj:
tar cvfz /var/www/etc--`date +%Y-%m-%d-%H-%M-%S`.tar.gz /etc/*

Autor:  TheL [ wtorek, 3 lipca 2007, 13:25 ]
Tytuł: 

Super, dziala.
Dokladnie zawartosc skryptu backup jest taka:
backup:
: [/] [] ()
#!/bin/sh
sufix=`date +%Y-%m-%d-g%H-%M`
tar -c -v -f /home/etc-$sufix.tar /etc

dodalem / przed etc aby mozna bylo go wykonywac z dowolnego miejsca.
Tworzy mi to plik np: etc-2007-06-03-g13-21.tar

Czy to mozliwe ze zawartos tego katalogu taruje sie mniej niz sekunde a plik ma wielkosc 1392640 ? Ladnie sie roztarowuje ale to tak dla pewnosci pytam.

Teraz wystarczy zrobic tak z reszta katalogow w drzewie i mamy fajny backup trwajacy bardzo krotko.
Dzieki wielkie.

ps. pod firefoxem nie chca dzialac ikonki podczas pisania wiadomosci tzn B I U Quote itd

Autor:  JakubC [ wtorek, 3 lipca 2007, 13:29 ]
Tytuł: 

: [/] [] ()
#!/bin/bash
# Skrypt tworzący i zarządzający backupami
# Jakub Cichy Cichocki <cichy@listonosz.com.pl>

######  -U-S-T-A-W-I-E-N-I-A-  #######

# Katalog do przechowywania backupów
D_BACKUP="/backup"

# Katalogi backupowane
D_DATA="/home/dane2006 /home/domena /home/httpd/html /home/httpd/cgi-bin /home/inne /home/kubus /home/roma /home/samba /home/farba /home/tracer /home/user2006 /home/httpd/ssl /etc /var/log /var/spool /var/mail /var/uebimiau /root"

# Sciezka do tara
D_TAR="/bin/tar"

# Opcje tara
O_TAR="zcvf"
#O_TAR="cvf"

# "Rozszerzenie" pliku backupa (bez kropki na początku)
R_TAR="tar.gz"
# Nazwa backupu
N_BACKUP="backup-serwer-"`date +%y%m%d`

# Nazwa wczorajszego backupa
S_BACKUP="backup-serwer-"`date -d yesterday +%y%m%d`
# Logi
D_LOG="/var/log/backup.log"
# D_LOG="/root/backup.log"

# Miejsce zapisu plików które backupujemy
D_PLIKI="/var/log/backupfiles.log"

echo ">> "`date`" - Rozpoczynam generowanie backupa!" >> $D_LOG
echo " "`date`" - Rozpoczynam generowanie backupa!"

echo "> "`date`" - Wykonuje backup dla katalogów:" $D_DATA >> $D_LOG
echo " "`date`" - Wykonuje backup dla katalogów:" $D_DATA

ROZMIAR=`du -hsc $D_DATA | tail -1 | cut -b 1,2`
echo "> "`date`" - Pliki które mają zostać zbackupowane mają rozmiar "$ROZMIAR "GB" >> $D_LOG
echo " "`date`" - Pliki które mają zostać zbackupowane mają rozmiar "$ROZMIAR "GB"

$D_TAR $O_TAR $D_BACKUP/$N_BACKUP.$R_TAR $D_DATA > $D_PLIKI
echo "> "`date`" - Archiwum zostało wykonane i zapisane jako" $D_BACKUP/$N_BACKUP.$R_TAR >> $D_LOG
echo " "`date`" - Archiwum zostało wykonane i zapisane jako" $D_BACKUP/$N_BACKUP.$R_TAR
C_ILOSC=`cat $D_PLIKI | wc -l`
echo "> "`date`" - Zbackupowałem" $C_ILOSC  "plików." >> $D_LOG
echo " "`date`" - Zbackupowałem" $C_ILOSC  "plików." 

rm -f $D_BACKUP/$S_BACKUP.$R_TAR >> $D_LOG
echo "> "`date`" - Stary backup ("$D_BACKUP/$S_BACKUP.$R_TAR") został usunięty!" >> $D_LOG
echo " "`date`" - Stary backup ("$D_BACKUP/$S_BACKUP.$R_TAR") został usunięty!"
echo "> "`date`" - Kończę działanie!" >> $D_LOG
echo " "`date`" - Kończę działanie!"

Może się komuś przyda. Skrypt tworzy backup, wypluwa log na konsole (co sprawia, że dostaje z nim maila) oraz zapisuje w /var/log.

Autor:  TheL [ wtorek, 3 lipca 2007, 13:31 ]
Tytuł: 

a co jesli chcemy excludowac jakis katalog glebiej ? cos mi funkcja exclude nie dziala. Moze warto to dopisac do tego skryptu i bylby bardzo wygodny i prosty system backupow.
Czy istnieje mozliwosc aby skrypt najpierw sprawdzal ile beda zajmowac pliki po zbackupowaniu i wtedy sie bedzie pytal czy napewno zbackupowac ?

Autor:  JakubC [ wtorek, 3 lipca 2007, 13:38 ]
Tytuł: 

Co do Twojego pytania, to mi też nie chciała ta opcja działać. Dodam jeszcze, że ten prosty skrypcik produkuje taki log:
: [/] [] ()
 Tue Jul 3 03:30:01 CEST 2007 - Rozpoczynam generowanie backupa!
 Tue Jul 3 03:30:01 CEST 2007 - Wykonuje backup dla katalogów: /home/dane2006 /home/domena /home/httpd/html /home/httpd/cgi-bin /home/inne /home/kubus /home/roma /home/samba /home/farba /home/tracer /home/user2006 /home/httpd/ssl /etc /var/log /var/spool /var/mail /var/uebimiau /root
 Tue Jul 3 03:30:08 CEST 2007 - Pliki które mają zostać zbackupowane mają rozmiar 19 GB
 Tue Jul 3 05:17:33 CEST 2007 - Archiwum zostało wykonane i zapisane jako /backup/backup-serwer-070703.tar.gz
 Tue Jul 3 05:17:33 CEST 2007 - Zbackupowałem 175268 plików.
 Tue Jul 3 05:17:48 CEST 2007 - Stary backup (/backup/backup-serwer-070702.tar.gz) został usunięty!
 Tue Jul 3 05:17:48 CEST 2007 - Kończę działanie!

Dzięki temu mamy pewność, że backup został wykonany, a dla mnie było to szczególnie ważne.

Uwaga! Tworzenie backupu z takiej ilości plików trwa dość długo(co widać) i obciąża procesor w 100% dlatego warto wykonywać to w nocy!

Autor:  TheL [ wtorek, 3 lipca 2007, 14:05 ]
Tytuł: 

a dziala Ci opcja -M data aby backupowac tylko pliki nowsze niz podana data ? mi jakos tez nie chce dzialac czy to powinno backupowac tylko utworzone po podanej dacie pliki czy tez zmodyfikowane ? jesli oba rodzaje i udaloby sie uruchomic mozna by bylo bez problemu robic backup przyrostowy po zrobieniu glownego backupu i dla wielu osob o malych dyskach byloby to wysmienite rozwiazanie. Widze ze za pomoca swojego skryptu rowniez pakujesz TARa co dodatkowo zmniejsza jego pojemnosc.
funkcja --exclude PLIK pozwala na niepakowanie tylko jednego pliku ja juz probowalem np --exclude /etc/* i tez nie dzialala musze poszukac tego bo to jest naprawde super wygoda.

jak najprosciej takiego tara po zainstalowaniu czystego systemu przywrocic najlepiej pojedynczym skryptem.

Czy da sie podczas pakowania lub tarowania podzielic plik na np pliki 4.3 GB zeby weszly na dvd ?
Wiem ze mozna np: split -b4300m backup.tar backup i powstana nam pliki:
backup.aa
backup.ab
...
i pozniej mozna to catem:
cat backup ... >calosc
ale to mi nie pasuje :D
jest jakis inny sposob ?

Autor:  JakubC [ wtorek, 3 lipca 2007, 14:15 ]
Tytuł: 

Backup przyrostowy mnie nie interesował, spora część danych się u mnie codziennie zmienia. Dane z backupa są zrzucane na inny dysk, w przyszłości planuję zrobić serwer backupów i tam upychać wszystko.

Co do podział to ja załatwiłbym to już przy tworzeniu (aby nie tworzyły się archiwa większe niż 4.3 GB) a nie potem dzielił.

U mnie nagrywanie na dvd nie wchodzi w grę, z powodu ogromnej ilości danych do zbackupowania.

Pozdrawiam

Autor:  TheL [ wtorek, 3 lipca 2007, 14:24 ]
Tytuł: 

mi bardziej zalezy na backupie raz na jakis czas wszystkiego a codziennie backupu /etc /home/www i postgresa przez:
: [/] [] ()
pg_dump -Fp -d -D -U user -f baza.sql baza

oczywiscie po dodaniu tych dat.
jednak gdybym mial mozliwosc wykonywania kopii przyrostowych to katalog /home/www zamiast codziennie kilkku giga backupowalby kilkaset kB.

Autor:  MAC!EK [ wtorek, 3 lipca 2007, 16:08 ]
Tytuł: 

a pakiet backup-manager nie spełnia waszych oczekiwań?

Autor:  JakubC [ środa, 4 lipca 2007, 00:23 ]
Tytuł: 

MAC!EK pisze:
a pakiet backup-manager nie spełnia waszych oczekiwań?

Nigdy z niego nie korzystałem a potrzebowałem czegoś pewnego, skutecznego i dostosowanego maksymalnie do moich potrzeb, z możliwością prostej rozbudowy o przesyłanie backupa na inny serwer więc spłodziłem na szybko coś takiego.

Autor:  TheL [ środa, 4 lipca 2007, 07:37 ]
Tytuł: 

Ja podobnie jak JakubC potrzebuje czegos prostego do rozbudowy, dostosowanego do moich potrzeb i calkowicie pewnego dlatego te pytania.
Czy ktos wie jak rozwiazac problem exclude i ew dzielenia plikow na czesci przy tarowaniu lub gzipowaniu ?

Autor:  MAC!EK [ środa, 4 lipca 2007, 09:13 ]
Tytuł: 

te wszystkie (wysyłanie na ftp, ssh, exclude i możliwe że przyrostową kopię też) funkcje ma backup-manager

Autor:  TheL [ środa, 4 lipca 2007, 09:18 ]
Tytuł: 

jakos przy backupie czlowiek nie ufa pakietom i sam probuje cos robic :D

Edit:
udalo sie z exclude
: [/] [] ()
tar -c -v -f backup/var.tar --exclude=/var/log/* --exclude=/var/lib/pgsql/* --exclude=/var/cache/squid/* /var

zrobi backup katalogu /var wylaczajac /var/log /var/lib/pgsql i /var/cache/squid
same katalogi zostana ale beda puste dzieki temu backup systemu robi mi sie okolo 4 minut (poucinalem niepotrzebne katalogi i zostawilem wazne dla systemu)
kopie baz robie oddzielnym skryptem i teraz wszystko idzie mi pieknie (dodam tylko do crona sale skrypty na 24:00 i bedzie mi sie wszystko pieknie robilo :))
teraz odrobinke OT (chociaz nie do konca)
jakim parametrem dzielic to na kawalki podczas tarowania ?
jak najprosciej po starowaniu nagrac to na cd/dvd (najlepiej wielosesyjnie aby mozna bylo dograc kolejnej nocy) jesli te 2 rzeczy by sie udalo zrobic to juz wlasciwie mam serwer bezobslugowy.

Strona 1 z 1 Strefa czasowa UTC+2godz.
Powered by phpBB® Forum Software © phpBB Group
https://www.phpbb.com/