mmm potreboval by som napisat nejaky skript na automaticky backup pomocou cronetabu aj s logom , zdroj by bolo lokalne pc s pripojenim ssh a ciel server s pripojenim cez sambu , samozrejme backup hadzat do tar.gz . No nejako sa stoho nemozem vysomarit pomozete prosim ?
Už návrh je špatný.
V případě, že bys chtěl uchovávat týdenní backup a měl 12GB dat na serveru tak i v případě, že se ti nezmění jediný soubor budeš potřebovat 84GB dat pro zálohy. Hloupé ne?
Doporučím rdiff-backup což je trochu zkrášlený a chytřejší rsync. Funguje to jednoduše:
rdiff-backup /home/mlada/Plocha /home/jarda/zalohy/mlada
Při první zadání se vytvoří kompletní záloha adresáře /home/mlada/Plocha do /home/jarda/zalohy/mlada.
Pokud ten samý příkaz budeš spouštět každou hodinu, tak se každou hodinu udělá pouze inkrementální záloha, tedy rozdíl poslední zálohy a aktuálního stavu. Pokud si mladá smaže soubor na ploše, přenese se pouze informace o smazání, pokud nějaký vytvoří, přenese se do zálohy. Ušetříš strašně moc místa, žádné duplicity.
Výhoda rdiff-backupu je v obnovování, protože můžeš udělat něco jako:
rdiff-backup -r 3D /home/jarda/zalohy/mlada /home/mlada/Plocha
Za předpokladu, že ty zálohy tam jsou obnovíš celý obsah přesně tak jak vypadal před třemi dny.
Tady je od Petra Krčmáře hezky zpracované "howto"
http://www.root.cz/clanky/zaloha-dat-pomoci-rdiff-backup/Pokud bych to měl aplikovat na tvoje řešení, tak by to vypadalo nějak takhle:
Na obou počítačích:
sudo apt-get update && sudo apt-get upgrade
sudo apt-get install ssh rdiff-backup
A potom na počítači, kde budou uchovávané zálohy:
crontab -e
Tam vlož toto:
01 01 * * * rdiff-backup user@192.168.0.11::/ /home/user/zalohy >> /misto/kde/se/bude/logovat.txt
Každý den se provede záloha všech souborů a adresářů ke kterým má user přístup. Samozřejmě to jde udělat i obráceně, místo "stahování" záloh je můžeš "posílat" na počítač, kde je chceš uchovávat, ale stejně budeš potřebovat přidat veřejný klíč do known_hosts abys nemusel zadávat při připojení přes ssh zadávat heslo:
ssh-copy-id user@192.168.0.10