Portál AbcLinuxu, 9. května 2025 20:45
lftp
a hodit je do zipu je hračka. Naplánovalo by se to cronem nebo přes at nebo tak nějak.
#!/usr/local/bin/bash cd /cesta/kam/zalohuju #parametry wget si nastavte ja potrebujete /usr/local/bin/wget -o wget_log.txt -t 10 -c -r -l 15 --user=uzivatel --password=heslo URL #nasledujici pojmenuje pripadnou zalohu podle casu a data jmenozalohy=zaloha$(date +%d.%m.%y_%H:%M).zip #zabaleni stazeneho spolecne s logem o stazeni /usr/local/bin/zip -r $jmenozalohy stazeny_adresar wget_log.txt rm -rf stazeny_adresar wget_log.txt exitasi muj 3. skript zivota takze to urcite neni idealni ale pro me ucely to funguje, prvozuju s to bashem(jak napasno na zacatku) v freebsd
<pre>
./usr/local/websdump/websdump
# generovani zaloh webu #--- ecoteam.cz -------------------------------------------------------------------------------- rm -rdf /var/zaloha/webs/stranky/mirror/* wget -q www.stranky.cz/_mysqldump_/mysqldump.php -O /dev/null lftp -c 'open -e "mirror / /var/zaloha/webs/stranky/mirror" ftp://user:pass@ftp.stranky.cz' rm -rf /var/zaloha/webs/stranky/stranky_day_`date +%w`.zip zip -r /var/zaloha/webs/stranky/stranky_day_`date +%w`.zip /var/zaloha/webs/stranky/mirror/ rm -rdf /var/zaloha/webs/stranky/mirror/* #-----------------------------------------------------------------------------------------------
1. radek: kompletne smaze obsah adresare mirror
2. radek: to je moje specialita na dump obsahu databaze a ulozi do souboru na ftp serveru, u tebe nema vyznam
3. radek: provede stazeni celeho obsahu ftp serveru od adresare / hloubeji. Da se nastavit, aby to stahovalo jen nejaky podadresar umisteny na danem ftp, "stranky" chci stahovat cely, mam tam proto jen /. Soubory se kopiruji prave do adresare mirror.
4. radek: smaze stary zip soubor, ktery nese stejne jmeno, jako bude mit ten novy.
5. radek: zkomprimuje obsah adresare mirror do zipu s nazvem stranky_day_n.zip
6. radek: kompletne smaze obsah adresare mirrorHodnota n z 5.radku je obsahuje aktualni den v tydnu (day of week). Je to proto, ze chci vytvaret zalohy s tydenni rotaci a to takovym zpusobem, abych se o to nemusel starat. Cron pusti zalohovaci davku pravidelne kazdou nedeli v 3:30, kde plati, ze n=0, cili bude vytvarena zaloha s nazvem stranky_day_0.zip. Ta puvodni se diky radku 4 smaze a nahradi se aktualni zalohou. Paklize by byla nutnost vytvaret zalohy kazdy den, mohl by se cron nastavit tak, aby provadel zalohy kazdy den, vytvarelo by se 7 archivu, s tim, ze by bylo vzdy a za kazdych okolnosti dostupnych 6 poslednich zaloh zpetne a s postupujicimi dny by se archivy postupne kruhove premazavaly aktualnimi. Interval rotace se da zvysit nahrazenim dne v tydnu nejakou jinou inkrementalni, ale opakujici se hodnotou, napriklad den v mesici (drobne anomalie s 28,29,30,31 dny v mesici by nevadily), kde by se uchovavalo poslednich 30 zaloh, paklize by se zalohovalo kazdy den nebo dnem v roce. To mi vsak pripada uz trochu zbytecne, vzhledem k tem webum, co se maji zalohovat. Dale je mozne trebas jednou mesicne aktualni zalohu zkopirovat jinam a delat si jeste mesicni referencni zalohy, ale to uz se dostavam do zcela zbytecne roviny. Tak jestli chces, tak si do toho souboru pripis tvoje servery, nezapomen na vytvoreni adresaru v /var/zaloha/webs/....
Tiskni
Sdílej:
ISSN 1214-1267, (c) 1999-2007 Stickfish s.r.o.