Fórum Root.cz

Hlavní témata => Software => Téma založeno: 3ugeene 14. 05. 2013, 09:12:30

Název: Vyloučení adresářů v rsync
Přispěvatel: 3ugeene 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
Název: Re:rsync - vyloučení adresářů
Přispěvatel: 3ugeene 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
Název: Re:Vyloučení adresářů v rsync
Přispěvatel: alfi 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.
Název: Re:Vyloučení adresářů v rsync
Přispěvatel: 3ugeene 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ě
Název: Re:Vyloučení adresářů v rsync
Přispěvatel: pet 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
Název: Re:Vyloučení adresářů v rsync
Přispěvatel: 3ugeene 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....
Název: Re:Vyloučení adresářů v rsync
Přispěvatel: monitor 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...


Název: Re:Vyloučení adresářů v rsync
Přispěvatel: astray 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í)?

Název: Re:Vyloučení adresářů v rsync
Přispěvatel: 3ugeene 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
Název: Re:Vyloučení adresářů v rsync
Přispěvatel: Jan Forman 15. 05. 2013, 11:34:23
Dávám volbu --exclude a celkem mi i funguje bezproblémů