bash-scripts/slack-get.sh

124 lines
3.1 KiB
Bash
Raw Normal View History

2014-02-27 00:47:37 +02:00
#!/bin/bash
#
# Lars Strand
#
# slackware.no
#
# Sun Nov 10 20:34:08 CET 2013
#
export RSYNC_PASSWORD=Sei0oona
file=/var/www/virtual/www.slackware.no/rsynclogs/slackware/rsync_`date +%Y-%m-%d`
file2=/dev/shm/slackware-syncing
# are we still sync'ing from slackware.com?
if [ ! -r $file2 ]; then
touch $file2
echo "
NB! Slackware-current is syncing from slackware.com!
Started: `date`
" > /usit/ftp1/ftp/slackware/NB-SYNCING-FROM-SLACKWARE.COM
# loop until we get a free slot
status=1
while [ $status != 0 ]
do
/local/bin/rsync -av --delete-after --delay-updates --hard-links \
--links --stats \
--exclude=NB-SYNCING-FROM-SLACKWARE.COM \
--exclude=ls-lR* \
--exclude=.message \
--exclude=.bash_history \
--exclude=slackware-1.1.2 \
--exclude=slackware-2.0.1 \
--exclude=slackware-2.1 \
--exclude=slackware-2.2.0 \
--exclude=slackware-2.3 \
--exclude=slackware-3.0 \
--exclude=slackware-3.1 \
--exclude=slackware-3.3 \
--exclude=slackware-3.4 \
--exclude=slackware-3.5 \
--exclude=slackware-3.6 \
--exclude=slackware-3.9 \
--exclude=slackware-4.0 \
--exclude=slackware-7.0 \
--exclude=slackware-7.1 \
--exclude=slackware-8.0 \
--exclude=slackware-8.1 \
--exclude=slackware-9.0 \
--exclude=slackware-9.1 \
--exclude=slackware-iso \
rsync.osuosl.org::slackware /usit/ftp1/ftp/slackware/ >> $file 2>> $file
# not using 2>&1 | tee $file redirect because of $?
status=$?
if [ $status != 0 ]
then
echo "
`date`
Sleeping 5 min...
" >> $file
sleep 300
fi
done
# sync ISOs
# loop until we get a free slot
status=1
while [ $status != 0 ]
do
/local/bin/rsync -av --delete-after --delay-updates --hard-links \
--links --stats \
--exclude=slackware-current-iso \
--exclude=slackware-8.1-iso \
--exclude=slackware-9.0-iso \
--exclude=slackware-9.1-iso \
--exclude=slackware-10.0-iso \
--exclude=slackware-10.1-iso \
--exclude=slackware-10.2-iso \
--exclude=slackware-11.0-iso \
--exclude=slackware-12.0-iso \
--exclude=slackware-12.1-iso \
--exclude=slackware-12.2-iso \
--exclude=slackware-13.0-iso \
--exclude=slackware-13.1-iso \
--exclude=slackware-13.37-iso \
--exclude=slackware64-13.0-iso \
--exclude=slackware64-13.1-iso \
--exclude=slackware64-13.37-iso \
slackware-iso@ftp.osuosl.org::slackware-iso /usit/ftp1/ftp/slackware/slackware-iso/ >> $file 2>> $file
# not using 2>&1 | tee $file redirect because of $?
status=$?
if [ $status != 0 ]
then
echo "
`date`
Sleeping 5 min...
" >> $file
sleep 300
fi
done
# Since I'm not redirecting to stdout, and I would like to recive status in
# my mail, I cat the newly created file
#cat $file
# not all files are readable from slackware.com (ISOs) to reduce load
chmod -R a+r /usit/ftp1/ftp/slackware/
# make index
cd /usit/ftp1/ftp/slackware/
ls -lR > ls-lR
gzip ls-lR -9 -c > ls-lR.gz
# cleaning up
rm /usit/ftp1/ftp/slackware/NB-SYNCING-FROM-SLACKWARE.COM
rm $file2
fi