Re: FTP (Re: w32tex)

名前: kuroky
日時: 2009-08-11 23:12:19
IPアドレス: 219.117.161.*

>>53528 紹介していただいた矢先なのですが,一箇所直します.(28行目) 修正したものを回すと,以下のようになります. (回した直後は $BKYESTERDAY に新しいものがあるので,日付のディレクトリは ハードリンクが転がっているだけ.そのうち古くなると,実体が日付のディレクトリ に残るはずです.) 313M /var/www/w32tex/w32tex-today/current 996K /var/www/w32tex/w32tex-today/generic 16M /var/www/w32tex/w32tex-today/w32 448K /var/www/w32tex/w32tex-today/docs 20M /var/www/w32tex/w32tex-today/gs 350M /var/www/w32tex/w32tex-today 313M /var/www/w32tex/w32tex-yesterday/current 996K /var/www/w32tex/w32tex-yesterday/generic 16M /var/www/w32tex/w32tex-yesterday/w32 448K /var/www/w32tex/w32tex-yesterday/docs 20M /var/www/w32tex/w32tex-yesterday/gs 350M /var/www/w32tex/w32tex-yesterday 4.0K /var/www/w32tex/w32tex-20090811/current 4.0K /var/www/w32tex/w32tex-20090811/generic 4.0K /var/www/w32tex/w32tex-20090811/w32 4.0K /var/www/w32tex/w32tex-20090811/docs 4.0K /var/www/w32tex/w32tex-20090811/gs 24K /var/www/w32tex/w32tex-20090811 ---- ↓ からシェルスクリプト #!/bin/sh BKADDRESS=http://w32tex.org/ BKDIRPREFIX=/var/www/w32tex/ BKPREFIX=$BKDIRPREFIX/w32tex- BKDAY=`date +%d` BKMONTH=`date +%m` BKYEAR=`date +%Y` BKDIR=$BKPREFIX$BKYEAR$BKMONTH$BKDAY BKTODAY="$BKPREFIX"today BKYESTERDAY="$BKPREFIX"yesterday if [ $BKDAY -eq 1 ]; then BKDIR="$BKDIR"LTS; rm -rf $BKYESTERDAY # Once a month, clear the $BKTODAY dir not to enlarge too much. fi # download mkdir -p -m 700 $BKTODAY wget -P $BKTODAY -q -m -np -nH $BKADDRESS # today/yesterday -(hard link)-> the day mkdir -p -m 700 $BKDIR for f in `find $BKTODAY`; do ff=`echo $f | sed -e "s|$BKTODAY||g"`; if [ -z $ff ]; then continue; elif [ -d $f ]; then mkdir -p $BKDIR/$ff; elif [ ! -f $BKYESTERDAY/$ff ] || [ $BKTODAY/$ff -nt $BKYESTERDAY/$ff ]; then ln $BKTODAY/$ff $BKDIR/$ff; else ln $BKYESTERDAY/$ff $BKDIR/$ff; fi; done chmod 755 $BKDIR # the day -(hard link)-> yesterday (to given fixed name) rm $BKYESTERDAY -rf mkdir -p -m 700 $BKYESTERDAY for f in `find $BKDIR`; do ff=`echo $f | sed -e "s|$BKDIR||g"`; if [ -z $ff ]; then continue; elif [ -d $f ]; then mkdir -p $BKYESTERDAY/$ff; else ln $BKDIR/$ff $BKYESTERDAY/$ff; fi; done # delete the directory of the last month except `Long Term Support'. if [ $BKDAY -eq 1 ]; then if [ $BKMONTH -eq 1 ]; then RMMONTH=$BKDIRPREFIX/`expr $BKYEAR - 1`12 else RMMONTH=$BKDIRPREFIX/$BKYEAR`expr $BKMONTH - 1` fi rm -rf "$RMMONTH"??; fi # clear today directory, then yesterday -(copy)-> today rm $BKTODAY -rf mkdir -p -m 700 $BKTODAY for f in `find $BKYESTERDAY`; do ff=`echo $f | sed -e "s|$BKYESTERDAY||g"`; if [ -z $ff ]; then continue; elif [ -d $f ]; then mkdir -p $BKTODAY/$ff; else cp -p $BKYESTERDAY/$ff $BKTODAY/$ff; fi; done

この書き込みへの返事:

お名前
題名 
メッセージ(タグは <a href="...">...</a> だけ使えます。適宜改行を入れてください)