Portál AbcLinuxu, 12. května 2025 12:38
#!/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 fiNa 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
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í :)
"- 2 days"
samozřejmě :)
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í.
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-paramikoprotož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/Documentspoté nastavím datum +1 den a:
duplicity --no-encryption full /home/honza/Downloads/ scp://honza@192.168.80.161//home/honza/DocumentsMá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.gzA 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.
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.
Tiskni
Sdílej:
ISSN 1214-1267, (c) 1999-2007 Stickfish s.r.o.