Autor |
Sõnum |
kustukas
Pingviini külastaja
Liitunud: 30.03.2007
Postitused: 34
|
|
Olen otsinud sellist skripti jupikest, mida lasta käima cron abil ja mis kustutaks failid, mis on teatud päevi vanad. Ütleme, et kaks päeva. Seda oleks tegelikult vaja lihtsalt selleks, et backup failid automaatselt kustuksid.
Win jaoks on mul tegelikult selline exe olemas kui kellegil huvi peaks olema. Võin lahkesti jagada. Ise kirjutatud ja vabavara.
|
|
|
|
|
|
|
|
obundra
Vana Pingviin
Vanus: 49
Liitunud: 04.08.2005
Postitused: 1213
Asukoht: 127.0.0.1
Distributsioon: RHEL, Solaris, Debian, Gentoo
|
|
|
|
Qilaq
Vana Pingviin
Vanus: 55
Liitunud: 25.10.2006
Postitused: 1219
Asukoht: Linda Nisa
Distributsioon: Mageia, Mandriva Linux
|
|
_________________ Tõlkija (Mandriva Linux, KDE, Scribus, CUPS)
|
|
|
|
johnsmith
Vana Pingviin
Vanus: 50
Liitunud: 24.07.2006
Postitused: 714
Asukoht: Universum
Distributsioon: Ubuntu/Gentoo/FreeBSD
|
|
Sa tahad lihtsalt kuskilt kaustast 2 päeva vanad backupid kustutada ?
Ma lahendasin selle niimoodi, et kui mul on teatud arv backupe siis sisenen for loopi mis käib läbi kõik failid antud kaustast ja kustutab lihtsalt kõige vanema backupi ära. Kui näiteks iga päev teha backupe siis kui seda rullida cronis üle päeva siis kustub vanem fail ära.
for DATA in `ls $BACKUPID`;
do
if [ $TEMP == 0 ]
then
TEMP=$DATA
elif [ $BACKUPID/$TEMP -nt $BACKUPID/$DATA ]
then
TEMP=$DATA
fi
done
rm -f $BACKUPID/$TEMP
Kui teatud vanus on vajalik siis tuleb kasutada gnu find utiliiti. Samas tuleb arvestada, et find ei arvesta faili loomisaega vaid seda millal teda on muudetud.
Ka findi kasutades ei tohiks olla raske kirjutada sellist skripti tuleb ainult määrata ära parameetrina kust ta otsib neid faile muidu kustuvad kõik failid ära mis on 2 päeva vanad
|
|
|
|
_________________ "Thinking is the hardest work there is, which is probably the reason why so few engage in it" - Henry Ford
|
|
|
|
kustukas
Pingviini külastaja
Liitunud: 30.03.2007
Postitused: 34
|
|
Mnjah kahjuks nii tark ma veel pole, et asja ise kokku paneks teiepoolt antud võimalustest. Muidugi aitäh tele kiirete vastuste eest.
johnsmith sinu versioon täiesti sobiks kui ma veel nüüd oskaks sinu versioonile ka muutujad ette anda ja selle tööle panna. Lihtsalt cronis paneks ta vastavalt iga tehtava backup töö järel jooksma ka kustutama vana faili.
|
|
|
|
|
|
|
|
kalamaja
Pingviini külastaja
Vanus: 55
Liitunud: 08.07.2005
Postitused: 21
Asukoht: Tartu
Distributsioon: Debian
|
|
Kood: |
#!/bin/bash
find /kaust/kust/otsida -type f -mtime +2 -exec rm -r {} \; > /dev/null
|
Äkki sobib midagi sellist. Antud näide kustutab siis kõik failid, mis on vanemad kui 2x24 tundi.
|
|
|
|
|
|
|
|
margo704
Pingviini aktivist
Liitunud: 30.08.2005
Postitused: 242
Distributsioon: Linux Mint 20.1
|
|
Aga kui tahad kuupäeva järgi faile kontrollida, siis faili kuupäeva ja praeguse kuupäeva kujul aaaa-kk-pp saab teada näiteks sedasi:
Kood: | failikuupaev=$(stat -c %y failinimi)
failikuupaev=${failikuupaev%% *}
praegunekuupaev=$(date +%Y-%m-%d)
|
|
|
|
|
|
|
|
|
kustukas
Pingviini külastaja
Liitunud: 30.03.2007
Postitused: 34
|
|
Ei kontrollida pole mul vaja. Lihtsalt kustutada failid, mis on vanemad kui 2 päeva (see aeg on hetkel lihtsalt optimaalne).
kalamaja kirjutas: | Kood: |
#!/bin/bash
find /kaust/kust/otsida -type f -mtime +2 -exec rm -r {} \; > /dev/null
|
Äkki sobib midagi sellist. Antud näide kustutab siis kõik failid, mis on vanemad kui 2x24 tundi. |
Testin sinu antud koodi jupikest. Aga saan ma õigesti aru, et selle +2 muutmisel näiteks +30-ks kustutatakse ära failid, mis on vanemad kui 30 päeva? Küsisin seda lihtsalt juhuks, et kui näiteks on vaja suuremat päevade arvu kasutada.
|
|
|
|
|
|
|
|
kalamaja
Pingviini külastaja
Vanus: 55
Liitunud: 08.07.2005
Postitused: 21
Asukoht: Tartu
Distributsioon: Debian
|
|
kustukas kirjutas: |
Aga saan ma õigesti aru, et selle +2 muutmisel näiteks +30-ks kustutatakse ära failid, mis on vanemad kui 30 päeva? |
Just. man find on ka abiks
|
|
|
|
|
|
|
|
margo704
Pingviini aktivist
Liitunud: 30.08.2005
Postitused: 242
Distributsioon: Linux Mint 20.1
|
|
kustukas kirjutas: | Ei kontrollida pole mul vaja. Lihtsalt kustutada failid, mis on vanemad kui 2 päeva (see aeg on hetkel lihtsalt optimaalne).
|
Ma mõtlesin selles mõttes, et kontrollid faili kuupäeva ja kui on vanem, kui vaja, siis kustutad ära.
Eilse kuupäeva saab näiteks käsuga: date -d '1 day ago' +%Y-%m-%d
Ja siis kontrollid, kui on vanem kui eilne, siis kustutad ära.
|
|
|
|
|
|
|
|
johnsmith
Vana Pingviin
Vanus: 50
Liitunud: 24.07.2006
Postitused: 714
Asukoht: Universum
Distributsioon: Ubuntu/Gentoo/FreeBSD
|
|
Ma panen oma loomingu ka siia, et oleks valikuvõimalust
Kood: |
BACKUPID="/mingi/directory"
TEMP=0
BACKUPIARV=`ls -l $BACKUPID | wc -l`
PIISAVALT=siia tuleb mingi arv nt 4
if [ $BACKUPIARV == $PIISAVALT ]
for DATA in `ls $BACKUPID`;
do
if [ $TEMP == 0 ]
then
TEMP=$DATA
elif [ $BACKUPID/$TEMP -nt $BACKUPID/$DATA ]
then
TEMP=$DATA
fi
done
rm -f $BACKUPID/$TEMP
fi
|
krt ma ei saa küll seda <code></code> tagisid tööle või teen ma midagi valesti......
Igatahes kui ma panen <code> siis sellisena ta ka mu postituses ilmub.
|
|
|
|
_________________ "Thinking is the hardest work there is, which is probably the reason why so few engage in it" - Henry Ford
Viimati muutis johnsmith 09.05.2007, 19:37; muudetud 3 korda
|
|
|
|
sander85
Vana Pingviin
Vanus: 39
Liitunud: 08.08.2005
Postitused: 4359
Asukoht: Tallinn (vahel ka Virtsu)
Distributsioon: Mageia, Debian, CentOS
|
|
|
|
johnsmith
Vana Pingviin
Vanus: 50
Liitunud: 24.07.2006
Postitused: 714
Asukoht: Universum
Distributsioon: Ubuntu/Gentoo/FreeBSD
|
|
sander85 kirjutas: | johnsmith kirjutas: |
krt ma ei saa küll seda <code></code> tagisid tööle või teen ma midagi valesti......
Igatahes kui ma panen <code> siis sellisena ta ka mu postituses ilmub. |
see peaks siiski olema [ code ] ja [ /code ] |
Ma oskasin seda vanasti teha küll aga nüüd enam ei õnnestu. Ole hea ja vaata mis nüüd siis valesti on.
|
|
|
|
_________________ "Thinking is the hardest work there is, which is probably the reason why so few engage in it" - Henry Ford
|
|
|
|
priit
Vana Pingviin
Vanus: 40
Liitunud: 04.08.2005
Postitused: 521
Asukoht: Tartu
Distributsioon: CentOS / OS X
|
|
Jäta tühikud vahelt ära.
[(seeontühik)code ]kood[ /code ] =>
|
|
|
|
|
|
|
|
|