名前: kuroky 日時: 2009-08-12 00:39:51 IPアドレス: 219.117.161.*
>>53537 > 更新されたものだけダウンロードし,本家で消えた > ものは削除するのは,どういうオプションでしたっけ(rsync の -auv --delete > 相当)。 これ,私も知りたいです. 拙作のスクリプトでは,月初めだけは全部ダウンロードし, それ以外の日は上書きダウンロードすることにしています (というつもりだったの ですが,その肝心なところを typo していたので,更新します.TeX と遠い話題で 頻繁に書き込んでしまって申し訳ないです (m__m)) 316M /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 352M /var/www/w32tex/w32tex-today 316M /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 352M /var/www/w32tex/w32tex-yesterday 4.0K /var/www/w32tex/w32tex-20090812/current 4.0K /var/www/w32tex/w32tex-20090812/generic 4.0K /var/www/w32tex/w32tex-20090812/w32 4.0K /var/www/w32tex/w32tex-20090812/docs 4.0K /var/www/w32tex/w32tex-20090812/gs 24K /var/www/w32tex/w32tex-20090812 147M /var/www/w32tex/w32tex-20090811/current 40K /var/www/w32tex/w32tex-20090811/generic 40K /var/www/w32tex/w32tex-20090811/w32 4.0K /var/www/w32tex/w32tex-20090811/docs 4.0K /var/www/w32tex/w32tex-20090811/gs 147M /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 $BKTODAY # 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
この書き込みへの返事: