ďťż
 
 
   bash, program kasujący stare pliki na serwerze
 
 

Tematy

 
    
 

 

 

 

bash, program kasujący stare pliki na serwerze





stahoo23 - 09-03-2008 08:13
Program ma usuwać stare pliki (np. starsze niż 30 dni) z maszyny, do której mam dostęp tylko przez ftp.
#!/bin/bash
lftp -u uzytkownik,haslo adres
ls -lart > lista
get lista
awk '{print $6, $7}' lista > lista1
awk '{print $8}' lista > lista3
for a in `cat lista1`; do date --date="$a" +"%s" ; done > lista2
b=`date +"%s"`
c=$((b-3600*24*30))
d=`cat lista2`
e=`cat lista3`
if [$c -le $d] ; then
for e in `cat lista`; do rm -f $8 ; done; fi Proszę o pomoc dla początkującego - programik nie działa.



cox - 12-03-2008 11:01
A czy to musi być program/skrypt? Ostatnio szukałem rozwiązania takiego samego problemu, o to na co się natknąłem: find /katalog/w/krotey/sa/pliki/* mtime +30 -exec rm {} \; Więcej informacji jak zwykle w: man find Pozdrawiam.



stahoo23 - 12-03-2008 17:41
Musi być abym sobie dopisał do crona i miał jedną rzecz z głowy.

Opcja z find odpada bo po połączeniu przez ftp działa tylko uboga wersja find bez -mtime.



winnetou - 12-03-2008 18:13
A co za problem?
at 'find /katalog/w/krotey/sa/pliki/* mtime +30 -exec rm {} \;' 16:00 everyday i po bólu powinno zadziałać, a jak nie to: man at po więcej szczegółów.

Lub jak kto woli: find /katalog/w/krotey/sa/pliki/* mtime +30 -exec rm {} \; zapisać to w pliku nazwa.sh, a potem: at -f ~/user/nazwa.sh 16:00 everyday



stahoo23 - 12-03-2008 22:37
pisalem w poscie wyzej ze opcja mtime nie dziala jak lacze sie przez ftp :-?



czarownik - 03-10-2009 13:51
Podepnę się do postu, mam pytanie tworzę sobie kopię kalogów za pomocą takiego prostego skrytu

#!/bin/bash
PATH=/usr/local/sbin:/usr/local/bin:/sbin:/bin:/usr/sbin:/usr/bin

DATA=`date +%Y-%m-%d`
cd /mnt/outside/

echo -n "Tworze katalog $DATA"
mkdir "$DATA"
echo "[OK]"
echo -n " Kopiuje pliki"
rsync --progress --delete -axH  /home/czarownik/pliki/ /mnt/outside/$DATA  > /dev/null 2>&1
echo "[OK]" Teraz chciałbym żeby tworzone przezemnie katalogi były kasowane co tydzień, ( zeby ostatania kopia była sprzed tygodnia) tylko nie bardzo nie wiem jak to ugryźć,



jurenty - 04-10-2009 20:30
rm /ścieżka do usuwanego katalogu/`date +%Y-%m-%d' --date '7 days ago'`nazwa usuwanego katalogu Mam nadzieję, że to Cię naprowadzi :-)



czarownik - 04-10-2009 22:19
Dziękuję jutro postaram się przetestować.

[Dodano: 2009-10-06, 16:20]

rm /ścieżka do usuwanego katalogu/`date +%Y-%m-%d' --date '7 days ago'`nazwa usuwanego katalogu Dziękuję, działa prawidłowo, ale wkradła się mała literówka, powinno być: rm /sciezka_do_pliku/`date +%Y-%m-%d --date '7 days ago'



jurenty - 08-10-2009 19:41
Fakt mała literówka, grunt że sobie poradziłeś. :-)
  • zanotowane.pl
  • doc.pisz.pl
  • pdf.pisz.pl
  • minister.pev.pl

  •  

     


     

     
    Copyright 2003. MĂłj serwis