Vyloučení adresářů v rsync

robin martinez

  • *****
  • 1 134
  • Have you hugged your toilet today?
    • Zobrazit profil
    • Null Storage
    • E-mail
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ář »
One machine can do the work of fifty ordinary men. No machine can do the work of one extraordinary man.

I do Linux, Hardware and spaghetti code in PHP, Python and JavaScript


robin martinez

  • *****
  • 1 134
  • Have you hugged your toilet today?
    • Zobrazit profil
    • Null Storage
    • E-mail
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
One machine can do the work of fifty ordinary men. No machine can do the work of one extraordinary man.

I do Linux, Hardware and spaghetti code in PHP, Python and JavaScript

alfi

  • ****
  • 314
    • 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.

robin martinez

  • *****
  • 1 134
  • Have you hugged your toilet today?
    • Zobrazit profil
    • Null Storage
    • E-mail
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ě
One machine can do the work of fifty ordinary men. No machine can do the work of one extraordinary man.

I do Linux, Hardware and spaghetti code in PHP, Python and JavaScript

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


robin martinez

  • *****
  • 1 134
  • Have you hugged your toilet today?
    • Zobrazit profil
    • Null Storage
    • E-mail
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....
One machine can do the work of fifty ordinary men. No machine can do the work of one extraordinary man.

I do Linux, Hardware and spaghetti code in PHP, Python and JavaScript

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í)?


robin martinez

  • *****
  • 1 134
  • Have you hugged your toilet today?
    • Zobrazit profil
    • Null Storage
    • E-mail
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
One machine can do the work of fifty ordinary men. No machine can do the work of one extraordinary man.

I do Linux, Hardware and spaghetti code in PHP, Python and JavaScript

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