Portál AbcLinuxu, 19. prosince 2025 09:41
#!/bin/bash
CISLO=0
while true; do
if [ ! -f "$1" ]; then
echo "Contiguous backup of single file v1.0"
echo "USAGE: cbackup <file>"
exit 1
fi
NEW=`md5sum "$1"`
if [ "$OLD" != "$NEW" ]; then
while [ -f "$1.$CISLO" ]; do
CISLO=`echo $CISLO + 1 | bc`
done
echo Creating backup "$1.$CISLO"
cp "$1" "$1.$CISLO"
fi
OLD=$NEW
sleep 10
done
Ja to používam keď pracujem s nejakou veľmi nestabilnou verziou nejakého programu. Unlimited undo je síce pekná vec, ale keď vám program padne tak je celé undo v péčku. Používa sa to tak že spustíte "cbackup nejakydokument" a veselo editujete ten dokument. Po každej dôležitej úprave to uložíte a o viac sa nestaráte. Ak nič nepadne tým lepšie a len treba vymazať tie zálohy. Nerobil som to cez inotify kvoli prenositeľnosti (WinXP,SCO 3.2,Ubuntu).
Tiskni
Sdílej:
A není lepší používat nějaký verzovací systém?
...keď pracujem s nejakou veľmi nestabilnou verziou nejakého programu...Není.
((CISLO++)) než tu obludu s bc. Počítat md5 každých 10 sekund je diskutabilní, já bych se klidně spolehl na čas změny souboru.
inotify (příklas z manu):
#!/bin/sh
while inotifywait -e modify /var/log/messages; do
if tail -n1 /var/log/messages | grep httpd; then
kdialog --msgbox "Apache needs love!"
fi
done
Mě přijde ten návrh k věci. Místo počítání MD5 si zavolaš inotifywait a ten běží dokud se soubor nezmění.
me to hlasi:
-bash: syntax error near unexpected token `newline'
neopisoval jsem to, pouzil jsme ctrl-c/ctrl-v
Pouzivam to podle navodu, jak pisete v blogu, ale ani jedna z moznosti nefunguje:
root@pocitac1:~# ./cbackup nejakydokument
Contiguous backup of single file v1.0
USAGE: cbackup <file>
root@pocitac1:~# cbackup <file>
-bash: syntax error near unexpected token `newline'
root@pocitac1:~#
Tohle nemuze myslet vazne.
Alespon odhalil, ze ma v PATH bashovy skript stejneho nazvu, ktery obsahuje syntaktickou chybu.

Jaaj dobre som sa zasmial 
Ale aj tak osm nepochopil naco by mi mala tato finta sluzit:
Ak pracujem s nestabilonou aplikaciou a padne mi, tak som si to bud ulozil a zmeny mam v danom subore, alebo som si to neulozil a zmeny tam aj tak nemam... Nepotrebujem stotisic verzii v nejakom backup-e kvoli tomu ze subor casto ukladam kvoli testovaniu ci nemam syntakticku chybu a podobne...
Btw aky ma suvis pouzivanie nestabilnej aplikacie s ukladanim starych verzii suboru ? 
ISSN 1214-1267, (c) 1999-2007 Stickfish s.r.o.