Hali!
Egy kis scriptre lenne szuksegem. Adott egy honap, pl 2008 oktober.
A date +%y%m
tokeletes eredmenyt ad, csak nekem az egy honappal
_korabbi_ kellene. Tehat
expr `date +%y%m`-1
Ennek csak ket hatranya van:
1. a 10 elott nem 09, hanem csak 9 van
2. nem veszi figyelembe, hogy pl. 1201 elott 1112 van :)
Van erre valakinek otlete, tehat hogyan tudnam egyszeruen megmondani
az egy honappal elobbi datumot, lehetoleg ugy, hogy egy scriptbe
beleilleszthessem (vagy parancssorba `....` segitsegevel)
- 1746 megtekintés
Hozzászólások
date -d now-1month +%y%m
- A hozzászóláshoz be kell jelentkezni
Ezer hala, valahogy elsiklottam a -d kapcsolo felett :)
- A hozzászóláshoz be kell jelentkezni
Nincs mit, de most hogy nézem, a megvalósítás bugos, nálam rosszul működik 31-én.
$ date -d "2008-10-31 - 1 month" +%Y-%m-%d
2008-10-01
$ date -d "2008-10-31 - 2 month" +%Y-%m-%d
2008-08-31
- A hozzászóláshoz be kell jelentkezni
Hopp, jo tudni. Bar a scriptet ho kozepen szandekozom futtatni, szoval ez nem tori derekba a terveimet, de jo ha tudja az ember....
- A hozzászóláshoz be kell jelentkezni
date +%y%m --date '1 month ago'
--
Ricsi
- A hozzászóláshoz be kell jelentkezni
Ide is irom az egesz scriptet, hatha kell majd valakinek. A hosting szervereken lefut egy log-mentes, felrerakja az elozo napit egy konyvtarba (es az ott levo, egy hetnel regebbi logokat torli)
A backup szerver ezt wget-tel naponta leszedi, cron-bol.
Szinten cronbol fut havonta egyszer (ho kozepen) ez a script, ami az esetleges sql-status, apachestatus meg egyeb nyavalyakat szetrakja a helyukre.
Ezutan jon, ami az elozo honap gzip-pelt (ezert lehet elotte *.log, azok nem zipeltek), site-okra bontott, gzipelt menteseit szetrakja a megfelelo honapba. Huh :)
#!/bin/sh
datum=`date -d now-1month +%y%m`
#echo $datum
cd /home/temp/hostinglog/orion
find . -maxdepth 1 -name '*sql*' -type f -mtime +8 -print0 | xargs -0 -r mv -f -t /home/temp/hostinglog/orion/sql
find . -maxdepth 1 -name '*status*' -type f -mtime +8 -print0 | xargs -0 -r mv -f -t /home/temp/hostinglog/orion/status
find . -maxdepth 1 -name '*.log' -type f -mtime +8 -print0 | xargs -0 -r mv -ft /home/temp/hostinglog/orion/full
mkdir $datum
find . -maxdepth 1 -name "*$datum*" -type f -print0 | xargs -0 -r mv -ft /home/temp/hostinglog/orion/$datum
cd /home/temp/hostinglog/apollo
find . -maxdepth 1 -name '*sql*' -type f -mtime +8 -print0 | xargs -0 -r mv -f -t /home/temp/hostinglog/apollo/sql
find . -maxdepth 1 -name '*status*' -type f -mtime +8 -print0 | xargs -0 -r mv -f -t /home/temp/hostinglog/apollo/status
find . -maxdepth 1 -name '*.log' -type f -mtime +8 -print0 | xargs -0 -r mv -ft /home/temp/hostinglog/apollo/full
mkdir $datum
find . -maxdepth 1 -name "*$datum*" -type f -print0 | xargs -0 -r mv -ft /home/temp/hostinglog/apollo/$datum
- A hozzászóláshoz be kell jelentkezni