Portaal Portaal Pingviini veeb foorumi pealeht
  Viki  |  IRC  |  Otsing  |  Küsimused ja vastused  |  Profiil  |  Privaatsõnumite vaatamiseks logi sisse  | Logi sisse või Registreeru
<empty>
Vaata järgmist teemat
Vaata eelmist teemat

Postita uus teemaVasta teemale
Autor Sõnum
kustukas
Pingviini külastaja
Pingviini külastaja



Liitunud: 30.03.2007
Postitused: 34


estonia.gif
postituspostitatud: 08.05.2007, 22:45  postituse pealkiri:  automaatne failide kustutaja  

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
Vana Pingviin


Vanus: 49
Liitunud: 04.08.2005
Postitused: 1213
Asukoht: 127.0.0.1
Distributsioon: RHEL, Solaris, Debian, Gentoo
estonia.gif
postituspostitatud: 08.05.2007, 22:52  postituse pealkiri:  (teema puudub)  

tmpwatch näiteks.

_________________
IT teenused

Qilaq
Vana Pingviin
Vana Pingviin


Vanus: 54
Liitunud: 25.10.2006
Postitused: 1219
Asukoht: Linda Nisa
Distributsioon: Mageia, Mandriva Linux
estonia.gif
postituspostitatud: 08.05.2007, 22:53  postituse pealkiri:  (teema puudub)  

palju häid mõtteid: http://www.linuxquestions.org/questions/showthread.php?t=534961

_________________
Tõlkija (Mandriva Linux, KDE, Scribus, CUPS)

johnsmith
Vana Pingviin
Vana Pingviin


Vanus: 49
Liitunud: 24.07.2006
Postitused: 714
Asukoht: Universum
Distributsioon: Ubuntu/Gentoo/FreeBSD
finland.gif
postituspostitatud: 08.05.2007, 23:48  postituse pealkiri:  (teema puudub)  

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
Pingviini külastaja



Liitunud: 30.03.2007
Postitused: 34


estonia.gif
postituspostitatud: 09.05.2007, 08:25  postituse pealkiri:  (teema puudub)  

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
Pingviini külastaja


Vanus: 55
Liitunud: 08.07.2005
Postitused: 21
Asukoht: Tartu
Distributsioon: Debian
estonia.gif
postituspostitatud: 09.05.2007, 09:02  postituse pealkiri:  (teema puudub)  

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
Pingviini aktivist



Liitunud: 30.08.2005
Postitused: 242

Distributsioon: Linux Mint 20.1
blank.gif
postituspostitatud: 09.05.2007, 09:51  postituse pealkiri:  (teema puudub)  

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
Pingviini külastaja



Liitunud: 30.03.2007
Postitused: 34


estonia.gif
postituspostitatud: 09.05.2007, 10:01  postituse pealkiri:  (teema puudub)  

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
Pingviini külastaja


Vanus: 55
Liitunud: 08.07.2005
Postitused: 21
Asukoht: Tartu
Distributsioon: Debian
estonia.gif
postituspostitatud: 09.05.2007, 10:54  postituse pealkiri:  (teema puudub)  

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
Pingviini aktivist



Liitunud: 30.08.2005
Postitused: 242

Distributsioon: Linux Mint 20.1
blank.gif
postituspostitatud: 09.05.2007, 11:28  postituse pealkiri:  (teema puudub)  

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
Vana Pingviin


Vanus: 49
Liitunud: 24.07.2006
Postitused: 714
Asukoht: Universum
Distributsioon: Ubuntu/Gentoo/FreeBSD
finland.gif
postituspostitatud: 09.05.2007, 13:17  postituse pealkiri:  (teema puudub)  

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, 20:37; muudetud 3 korda
sander85
Vana Pingviin
Vana Pingviin


Vanus: 38
Liitunud: 08.08.2005
Postitused: 4359
Asukoht: Tallinn (vahel ka Virtsu)
Distributsioon: Mageia, Debian, CentOS
estonia.gif
postituspostitatud: 09.05.2007, 13:30  postituse pealkiri:  (teema puudub)  

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 ]

_________________
Image Image Image

johnsmith
Vana Pingviin
Vana Pingviin


Vanus: 49
Liitunud: 24.07.2006
Postitused: 714
Asukoht: Universum
Distributsioon: Ubuntu/Gentoo/FreeBSD
finland.gif
postituspostitatud: 09.05.2007, 15:02  postituse pealkiri:  (teema puudub)  

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
Vana Pingviin


Vanus: 39
Liitunud: 04.08.2005
Postitused: 521
Asukoht: Tartu
Distributsioon: CentOS / OS X
estonia.gif
postituspostitatud: 09.05.2007, 15:40  postituse pealkiri:  (teema puudub)  

Jäta tühikud vahelt ära.
[(seeontühik)code ]kood[ /code ] =>
Kood:
kood


Näita (aja järgi):      
Postita uus teemaVasta teemale


Vaata järgmist teemat
Vaata eelmist teemat
Powered by phpBB2 Plus based on phpBB © 2001/7 phpBB Group