Vyloučení adresářů v rsync

3ugeene

Vyloučení adresářů v rsync
« kdy: 14. 05. 2013, 09:12:30 »
Ahoj, opět a zase bych se rád na něco zeptal zkušenějších, na firemním servříku mi probíhá pod sudo cronem tahle záloha:

Kód: [Vybrat]
#0 0 * * * rsync -azvv --delete / /media/backup/backup_files/server_drive --exclude={/var/cache/apt/*,/dev/*,/proc/*,/sys/*,/tmp/*,/run/*,/mnt/*,/media/*,/lost+found,/home/*/.gvfs}

šlohnul jsem ji na stránkách Arch linuxu a problém je v tom, že mi nevylučuje adresář /media, tenv tý záloze vždycky je (včera byl - probíhala výměna disků) a tím pádem se mi rekurzivně zálohuje i záloha do zálohy* Mám tam něco špatně?

Jinak další otázka - tu rsync zálohu normálně můžu příkazem rm ze zálohovacího disku mazat? Když jsem to chtěl včera smazat, tak mi to řeklo, že je adresář aktivně používanej (dafuq?) myslím, že to řvalo něco kvůli symlinks, ale abych nekecal.

ďyk



*DiCaprio by se divil
« Poslední změna: 14. 05. 2013, 09:29:14 od Petr Krčmář »


3ugeene

Re:rsync - vyloučení adresářů
« Odpověď #1 kdy: 14. 05. 2013, 09:28:39 »
když tam přidám parametr --dry-run a přesměruju to celý do |grep "/media", tak se ta složka nezálohuje, což je správně. Tak jsem z toho jelen

alfi

  • ****
  • 338
    • Zobrazit profil
    • E-mail
Re:Vyloučení adresářů v rsync
« Odpověď #2 kdy: 14. 05. 2013, 09:32:48 »
místo vyjímek pro /proc, /sys apod. bych zkusil
Kód: [Vybrat]
-x, --one-file-system       Don't cross filesystem boundaries
tedy v ideálním stavu bude cílová kopie rootu přesně odpovídat zdrojovému stavu - tedy vč. možného bootu a mountování všech potřebných adresářů :-)
a pokud je /media/backup jiný filesystém, nebude se zálohovat ani ten.

3ugeene

Re:Vyloučení adresářů v rsync
« Odpověď #3 kdy: 15. 05. 2013, 08:22:38 »
TAk zrovna tyhle adresáře mi žíly netrhaj, ale zase se mi přes noc tím příkazem nahoře rekurzivně zálohovala /media a už mi to leze krkem, nevím, co dělám špatně

pet

Re:Vyloučení adresářů v rsync
« Odpověď #4 kdy: 15. 05. 2013, 08:47:49 »
Po různém boji o to, aby mi tar, rsync, ... nezálohovaly /proc, /sys, a podobné (ne vždy pomáhalo --one-file-system), používám následující trik:
- přibinduji root:
# mount -o bind / /mnt
- pak zálohuji namontovanou "kopii"
# rsync ...<parametry>..... /mnt/ /tam_kam_chci
- pak samozřejmě uklidím
# umount /mnt


3ugeene

Re:Vyloučení adresářů v rsync
« Odpověď #5 kdy: 15. 05. 2013, 09:12:47 »
já to ještě zkusim s tim -x, nicméně včera mi --dry-run i ostrá záloha fungovaly ok (využité místo na záložním disku 30GB), dnes přijdu a využitý místo na záložním disku 256GB....

monitor

Re:Vyloučení adresářů v rsync
« Odpověď #6 kdy: 15. 05. 2013, 09:59:02 »
1. teraz, ked nato pozeram, problem je asi v tom, ze mylis cron tymi hviezdickami - ako sam vidis, cron ma pre hviezdicky vlastne pouzitie (zaciatok riadku: 0 0 * * *), a ty tam potom do argumentov pises veci ako /dev/*
Tie tvoje hviezdicky na konci ho mozu iritovat :-)

2. A co tak napisat si bash skript, a dat do cronu len ten skript (ziadne argumenty, prepinace, nic...)?
(do skriptu dat ten tvoj rsync command aj so vsetkymi argumentami...)

Ked ti bude fungovat skript, ako chces,
tak musi (pri spustani pod tym istym userom, a s tymi istymi ENV premennymi)
fungovat rovnako z cronu ako aj z terminalu...



astray

Re:Vyloučení adresářů v rsync
« Odpověď #7 kdy: 15. 05. 2013, 10:13:15 »
V případě, že se záloha udělá nesprávně, tj. když se zázálohuje obsah /media, udělá se (nesprávně) i záloha obsahu těch běžných adresářů /tmp, /mnt a /run (samozřejmě pokud před začátkem zálohování vůbec něco obsahují)?


3ugeene

Re:Vyloučení adresářů v rsync
« Odpověď #8 kdy: 15. 05. 2013, 10:30:35 »
monitor: no vidíš, to mě nenapadlo, zkusím, já měl za to, že bere nějakej počet hvězdiček na začátku a pak je ignoruje, podle mě by řval chybu při uládání, ale zkusím to...

astray:
dnes jsem na to koukal a myslím, že tam byly, takže tam je pravděpodobně problém v tom, co píše monitor

Re:Vyloučení adresářů v rsync
« Odpověď #9 kdy: 15. 05. 2013, 11:34:23 »
Dávám volbu --exclude a celkem mi i funguje bezproblémů
„Řemeslo se naučí každý. Umění nikdo.“
„Jednoduchost je nejvyšší úroveň sofistikovanosti.“
- Leonardo Da Vinci