Portál AbcLinuxu, 12. května 2025 12:38

Dotaz: rsync/duplicity: záloha přes SSH nelze smazat stare zalohy

14.2.2013 11:26 jan
rsync/duplicity: záloha přes SSH nelze smazat stare zalohy
Přečteno: 490×
Odpovědět | Admin
Ahoj

Trápím se s takovým problém, zřejmě bude problém v právech. Zálohuji s rsync a zkouším ho nastavit tak, ať mi maže starší full zálohy než X dnů. Když to zkouším na PC, který chci zalohovat na stejný disk na tomto PC tak vše funguje. Ale jakmile pošlu přes SSH na jine PC s ubuntu, tak se vytvoří zálohy ale už se nemažou ty staré. Ten samý problém mam s duplicity: vytvoří se full záloha + incre, pak dám novou full a odstranit vše až na poslední full ale smažou nesmažou se ty komprimované soubory pouze ty textove, takže velikost zalohy pořád narustá.
 #!/bin/bash

#Website Backup Script

#Todays date in ISO-8601 format:
DAY0=`date -I`

#Yesterdays date in ISO-8601 format:
#DAY1=`date -I -d "1 day ago"`

#The source directory:
SRC="/home/honza/Downloads"

#The target directory:
#TRG="/media/zaloha/$DAY0"
TRG="honza@192.168.80.157:/media/honza/backup/$DAY0"
#/media/honza/zaloha

#The link destination directory:
#LNK="/media/zaloha/$DAY1"

#The rsync options:
OPT="-avh --delete -e ssh"

#Execute the backup
rsync $OPT $SRC $TRG

#29 days ago in ISO-8601 format
DAY2=`date -I -d "2 days ago"`

#Delete the backup from 2 days ago, if it exists
if [ -d /media/honza/backup/$DAY2 ] 
#/media/honza/zaloha
then
rm -R /media/honza/backup/$DAY2
#/media/honza/zaloha
fi
Na obou PC mám stejný ůčet. skript spouštím bash incre.sh z Desktop. (ještě to nemám pořadne udělané)

Děkuji za rady
Nástroje: Začni sledovat (0) ?Zašle upozornění na váš email při vložení nového komentáře.

Odpovědi

14.2.2013 11:45 Ash | skóre: 53
Rozbalit Rozbalit vše Re: rsync/duplicity: záloha přes SSH nelze smazat stare zalohy
Odpovědět | | Sbalit | Link | Blokovat | Admin
Nerozumím větě:

jakmile pošlu přes SSH na jine PC s ubuntu

Kam co jak přesně posíláte?

Podle zdrojáku a popisu to na mne působí tak, že sice rsyncu dáte vzdálený TRG, ale skript pouštíte stále na lokálním stroji. Pak by se zálohy na vzdáleném stroji logicky nesmázly... Ale zdá se mi to příliš okaté.

BTW místo
DAY2=`date -I -d "2 days ago"`
bych šel do
DAY2=`date -I -d "$DAY0 - 1 day"`
co kdyby to někoho napadlo spustit před půlnocí :)
14.2.2013 11:47 Ash | skóre: 53
Rozbalit Rozbalit vše Re: rsync/duplicity: záloha přes SSH nelze smazat stare zalohy
Oprava "- 2 days" samozřejmě :)
14.2.2013 12:15 jan
Rozbalit Rozbalit vše Re: rsync/duplicity: záloha přes SSH nelze smazat stare zalohy

Já jsem začátečník...takže to asi bude tímto.

 

"jakmile pošlu přes SSH na jine PC s ubuntu" ten skript mam na tom lokálním a spuštím ho zatím ručně pozdeji by to byl cron, takže to bude nejspíše ta chyba.

 

PC-A složka kterou chci zálohovat: SRC="/home/honza/Downloads"

PC-B kam zalohuju: TRG="honza@192.168.80.157:/media/honza/backup/$DAY0"

takže jsem pochopil špatně cely princip nejspíš, skript mám správně mít uložen a spouštet z PC-B? A na PC-A se o nic nestarám? Potom je ale potřeba přehodit SRC a TRG.

 

 

Původně jsem myslel, že na PC který chci zálohovat vytvořím skript, který zálohuje na jiný PC a použiju crontab a budou se vytvářet zálohy.

 

Řešení je tedy na PC kde chci mít uložené zálohy mám skript který má SRC="honza@192.168.80.157:/home/honza/Downloads", což je nějaký PC který chci zálohovat a TRG="/media/honza/backup/$DAY0"?? takto to funguje tak jak chci ale nevím jestli je to korektní a správné řešení.

14.2.2013 12:23 Ash | skóre: 53
Rozbalit Rozbalit vše Re: rsync/duplicity: záloha přes SSH nelze smazat stare zalohy
Myslím, že to jak to popisujete je dobrý nápad, na PC-B ("serveru" se zálohami) je cronem spouštěn program, který se přihlašuje na PC-A (klienty) a stahuje a zálohuje z nich data + likviduje staré lokální zálohy, posílá maily když se zálohy nepodaří či je málo místa na disku apod.

Druhá možnost, vhodná např. je-li klientem notebook připojovaný k síti jen někdy, by bylo spouštět skript na klientovi. Pak bych v rámci jednoduchosti na klientovi neřešil mazání starých záloh. Prostě bych jen odzálohoval data a hotovo. Na serveru se zálohami bych měl potom cronem spouštěný jiný skript, který by pravidelně kontroloval stav záloh, a nechával by např. jen posledních X požadovaných záloh, zbytek by mazal. Opět by mohl mailovat pokud se mu bude zdát že už někdo dloho neposlal zálohu.
14.2.2013 15:26 jan
Rozbalit Rozbalit vše Re: rsync/duplicity: záloha přes SSH nelze smazat stare zalohy
Tak to vyřešilo problém s rsznc, ale duplicity stále nechápu. Popíšu jak postupuji

Vytvořím si klíče
ssh-keygen -t rsa
ssh-copy-id -i ~/.ssh/id_rsa.pub '-p 22 honza@192.168.80.161'
Duplicity mám verze 0.6.19, a doinstaluji paramiko
apt=get isntall python-paramiko
protože bez něj mi při záloze na server píše hlasku že chybí.

a pak už jdu na zalohování
duplicity --no-encryption /home/honza/Downloads/ scp://honza@192.168.80.161//home/honza/Documents
poté nastavím datum +1 den a:
duplicity --no-encryption full /home/honza/Downloads/ scp://honza@192.168.80.161//home/honza/Documents
Mám 2 full zalohy takže zkusím jednu smazat:
root@ubuntu:/# duplicity --no-encryption remove-all-but-n-full 1 --force scp://honza@192.168.80.161//home/honza/Documents
Local and Remote metadata are synchronized, no sync needed.
Last full backup date: Tue Feb 19 06:06:27 2013
Deleting backup sets at times:
Sat Feb 16 05:57:21 2013
Sun Feb 17 06:02:54 2013
Mon Feb 18 06:05:01 2013
Deleting set full Mon Feb 18 06:05:01 2013
Deleting set full Sun Feb 17 06:02:54 2013
Deleting set full Sat Feb 16 05:57:21 2013
Warning, found incomplete backup sets, probably left from aborted session
Deleting these files from backend:
duplicity-full.20130217T140254Z.vol1.difftar.gz
duplicity-full.20130217T140254Z.vol2.difftar.gz
duplicity-full.20130217T140254Z.vol3.difftar.gz
duplicity-full.20130217T140254Z.vol4.difftar.gz
duplicity-full.20130217T140254Z.vol5.difftar.gz
duplicity-full.20130217T140254Z.vol6.difftar.gz
duplicity-full.20130217T140254Z.vol7.difftar.gz
duplicity-full.20130217T140254Z.vol8.difftar.gz
duplicity-full.20130216T135721Z.vol1.difftar.gz
duplicity-full.20130216T135721Z.vol2.difftar.gz
duplicity-full.20130216T135721Z.vol3.difftar.gz
duplicity-full.20130216T135721Z.vol4.difftar.gz
duplicity-full.20130216T135721Z.vol5.difftar.gz
duplicity-full.20130216T135721Z.vol6.difftar.gz
duplicity-full.20130216T135721Z.vol7.difftar.gz
duplicity-full.20130216T135721Z.vol8.difftar.gz
duplicity-full.20130218T140501Z.vol1.difftar.gz
duplicity-full.20130218T140501Z.vol2.difftar.gz
duplicity-full.20130218T140501Z.vol3.difftar.gz
duplicity-full.20130218T140501Z.vol4.difftar.gz
duplicity-full.20130218T140501Z.vol5.difftar.gz
duplicity-full.20130218T140501Z.vol6.difftar.gz
duplicity-full.20130218T140501Z.vol7.difftar.gz
duplicity-full.20130218T140501Z.vol8.difftar.gz
duplicity-full-signatures.20130216T135721Z.sigtar.gz
duplicity-full-signatures.20130217T140254Z.sigtar.gz
duplicity-full-signatures.20130218T140501Z.sigtar.gz

A to už smaže jen .manifest soubory ze serveru takže tam zustanou ty archívy a zabírají místo na disku. Ale zaloha na lokalní PC funguje.
Warning, found incomplete backup sets, probably left from aborted session
Deleting these files from backend:
Tomuto hlášení nerozumím.

14.2.2013 16:29 jan
Rozbalit Rozbalit vše Re: rsync/duplicity: záloha přes SSH nelze smazat stare zalohy
I když použiju tento sklipt http://duplicity.nongnu.org/contrib/jwfull

tak pořád stejná hlaška Warning, found incomplete backup sets, probably left from aborted session
15.2.2013 11:25 Ash | skóre: 53
Rozbalit Rozbalit vše Re: rsync/duplicity: záloha přes SSH nelze smazat stare zalohy
Tak duplicity bohužel neznám, ale hlášení zní jako kdyby byla během mazání nalazena nějaká nekompletní záloha, pravděpodobně vzniklá v důsledku přerušení zálohování v jeho průběhu (něco zabilo spojení apod.).

V prvním řádku vašeho příkladu "a pak už jdu na zalohování" duplicity --no-encryptio by možná mělo být také full? Dále v příkladu ukazujete že děláte zálohu dvakrát, ale při mazání to maže tři zálohy. Možná to je jen chyba při přepisu do diskuze, ale asi bych ještě zkouknul dokumentaci k duplicity, všchna cvičná data záloh smazal udělal opravdu jen dvě full zálohy a pak zkusil ten příkaz kterým to má smazat všechny full kromě jedné. Víc vám nepovím, používám jen rsync, duplicity jsem neznal.
17.2.2013 16:25 jan
Rozbalit Rozbalit vše Re: rsync/duplicity: záloha přes SSH nelze smazat stare zalohy
Nejsem si vedom že by někde proběhla nějaká nekompletní zaloha. Takže jsem zkusil místo scp použít rsync a vše funguje.

Založit nové vláknoNahoru

Tiskni Sdílej: Linkuj Jaggni to Vybrali.sme.sk Google Del.icio.us Facebook

ISSN 1214-1267, (c) 1999-2007 Stickfish s.r.o.