Portál AbcLinuxu, 10. května 2025 06:26
find
, pak už zbývá jen soubory zabalit, spakovat, zašifrovat a odeslat.
Pokud byste chtěl dělat skutečně inkrementální zálohy (rozdíly), musíte vždy buď stáhnout zálohu zpět na lokální počítač, rozšifrovat a porovnávat s ní, nebo poskytnout vzdálené straně klíč, aby mohla zálohu rozšifrovat ona (pak už stačí přes síť přenášet jen hashe). Teoreticky by bylo možné hashe zálohovaných bloků si uchovat v nešifrované podobě (ať už na vzdálené straně, nebo lokálně), ale to byste si musel nejspíš napsat vlastní zálohovací software, protože externalizovat hashování podle mne žádný zálohovací software neumí. Ono by asi stačilo jenom implementovat protokol rsync, kde by se hashe nepočítaly ze souborů na disku, ale použily se ty zapamatované.
Tedy např. pomocí data modifikace. Takové soubory vám dokáže vyhledat i find, pak už zbývá jen soubory zabalit, spakovat, zašifrovat a odeslat.Jo, myslel jsem, že by si ten zálohovací software zapamatoval, kdy byla provedena záloha, a příště zašifroval a odeslal všechny novější soubory. Asi si budu muset napsat nějaký skriptík. Co byste mi doporučili pro to šifrování? GnuPG, openssl, něco jiného?
Jo, myslel jsem, že by si ten zálohovací software zapamatoval, kdy byla provedena záloha, a příště zašifroval a odeslal všechny novější soubory.Podle mne je nejlepší na začátku si udělat timestamp (
touch
na nějaký soubor) a pak porovnávat soubory pomocí find
-anewer
, -cnewer
nebo -newer
. Jenom je potřeba před vytvořením timestampu si ten původní zazálohovat a porovnávat vůči němu Co byste mi doporučili pro to šifrování? GnuPG, openssl, něco jiného?Nevím, pokud máte s něčím zkušenosti, použijte to, jinak bych zkusil udělat nějaký test rychlosti obou variant, případně s čím se bude lépe pracovat…
Tar umí také jen soubory od určitého data (parametr --newer-mtime), používá to např. backuppc. Inkrementální záloha na velkých adresářových stromech je pak mnohem rychlejší než rsync.
rsync
najde na staré a nové záloze nějaké stejné bloky, ten šifrovací program rovnou zahoďte.
for i in `seq 1 97`; do dd if=/dev/urandom of=${i}.bin bs=1M count=1; doneOdpojil jsem a provedl jsem rsync. Znovu jsem vše připojil a provedl 10MB změn:
rm 6?.bin for i in `seq 60 69`; do dd if=/dev/urandom of=${i}.bin bs=1M count=1; doneOdpojil jsem a provedl rsync s parametrem -P.
sent 10544457 bytes received 71711 bytes 1930212.36 bytes/sec total size is 104857600 speedup is 9.88To je dobrý výsledek...
A co použít EncFS? Takhle:
server – sshfs – EncFS – rsync – tvoje data
#!/bin/sh sshfs -p 4011 user@stroj:/kam/ /mnt/někam/ encfs /mnt/někam/enc /mnt/někam/open rsync --whole-file --delete --progress -z --compress-level=9 -av co /mnt/někam/ sync fusermount -u /mnt/někam/open fusermount -u /mnt/někam
a neměl bys zálohovat spíš do /mnt/někam/open ?
Tiskni
Sdílej:
ISSN 1214-1267, (c) 1999-2007 Stickfish s.r.o.