https://www.mediawiki.org/wiki/Special:Code/MediaWiki/110561
Revision: 110561
Author: ariel
Date: 2012-02-02 11:26:23 +0000 (Thu, 02 Feb 2012)
Log Message:
-----------
option to list dump dirs only w/o file contents
Modified Paths:
--------------
branches/ariel/xmldumps-backup/create-rsync-list.sh
Modified: branches/ariel/xmldumps-backup/create-rsync-list.sh
===================================================================
--- branches/ariel/xmldumps-backup/create-rsync-list.sh 2012-02-02 11:15:10 UTC
(rev 110560)
+++ branches/ariel/xmldumps-backup/create-rsync-list.sh 2012-02-02 11:26:23 UTC
(rev 110561)
@@ -5,6 +5,7 @@
# are not n successful dumps available.
# Options:
+# dirsonly -- list only the directories to include
# dumpsnumber -- number of dumps to list
# outputfile -- path to file in which to write the list
# configfile -- path to config file used to generate dumps
@@ -12,6 +13,7 @@
usage() {
echo "Usage: $0 --dumpsnumber n --outputfile filename --configfile
filename --rsyncprefix path"
echo
+ echo " dirsonly list only directories to include"
echo " dumpsnumber number of dumps to list"
echo " outputfile name of file to which we will write iw action
list"
echo " configfile name of configuration file for dump generation"
@@ -21,6 +23,7 @@
echo
echo "For example:"
echo " $0 --dumpsnumber 5 --outputfile
/data/dumps/public/dumpsfiles_for_rsync.txt --configfile wikidump.conf.testing"
+
exit 1
}
@@ -74,22 +77,34 @@
done
}
+list_dir_only() {
+ if [ "$rsyncprefix" == "false" ]; then
+ ls -d $d 2>/dev/null >> $outputfile.tmp
+ else
+ ls -d $d 2>/dev/null | sed -e "s|^$publicdir|$rsyncprefix|" >>
$outputfile.tmp
+ fi
+}
+
list_files_in_dir() {
if [ ! -f "$outputfile.tmp" ]; then
touch $outputfile.tmp
fi
- if [ "$rsyncprefix" == "false" ]; then
- ls $d/*.gz 2>/dev/null >> $outputfile.tmp
- ls $d/*.bz2 2>/dev/null >> $outputfile.tmp
- ls $d/*.7z 2>/dev/null >> $outputfile.tmp
- ls $d/*.html 2>/dev/null >> $outputfile.tmp
- ls $d/*.txt 2>/dev/null >> $outputfile.tmp
+ if [ "$dirsonly" == false ]; then
+ if [ "$rsyncprefix" == "false" ]; then
+ ls $d/*.gz 2>/dev/null >> $outputfile.tmp
+ ls $d/*.bz2 2>/dev/null >> $outputfile.tmp
+ ls $d/*.7z 2>/dev/null >> $outputfile.tmp
+ ls $d/*.html 2>/dev/null >> $outputfile.tmp
+ ls $d/*.txt 2>/dev/null >> $outputfile.tmp
+ else
+ ls $d/*.gz 2>/dev/null | sed -e "s|^$publicdir|$rsyncprefix|" >>
$outputfile.tmp
+ ls $d/*.bz2 2>/dev/null | sed -e "s|^$publicdir|$rsyncprefix|" >>
$outputfile.tmp
+ ls $d/*.7z 2>/dev/null | sed -e "s|^$publicdir|$rsyncprefix|" >>
$outputfile.tmp
+ ls $d/*.html 2>/dev/null | sed -e "s|^$publicdir|$rsyncprefix|" >>
$outputfile.tmp
+ ls $d/*.txt 2>/dev/null | sed -e "s|^$publicdir|$rsyncprefix|" >>
$outputfile.tmp
+ fi
else
- ls $d/*.gz 2>/dev/null | sed -e "s|^$publicdir|$rsyncprefix|" >>
$outputfile.tmp
- ls $d/*.bz2 2>/dev/null | sed -e "s|^$publicdir|$rsyncprefix|" >>
$outputfile.tmp
- ls $d/*.7z 2>/dev/null | sed -e "s|^$publicdir|$rsyncprefix|" >>
$outputfile.tmp
- ls $d/*.html 2>/dev/null | sed -e "s|^$publicdir|$rsyncprefix|" >>
$outputfile.tmp
- ls $d/*.txt 2>/dev/null | sed -e "s|^$publicdir|$rsyncprefix|" >>
$outputfile.tmp
+ list_dir_only
fi
}
@@ -121,7 +136,7 @@
fi
}
-if [ "$#" -lt "4" -o "$#" -gt "8" ]; then
+if [ "$#" -lt "4" -o "$#" -gt "9" ]; then
usage
fi
@@ -129,21 +144,28 @@
outputfile=""
configfile="wikidump.conf"
rsyncprefix="false"
+dirsonly="false"
while [ $# -gt 0 ]; do
- if [ $1 == "--dumpsnumber" ]; then
+ if [ $1 == "--dirsonly" ]; then
+ dirsonly="true"
+ shift
+ elif [ $1 == "--dumpsnumber" ]; then
dumpsnumber="$2"
+ shift; shift
elif [ $1 == "--outputfile" ]; then
outputfile="$2"
+ shift; shift
elif [ $1 == "--configfile" ]; then
configfile="$2"
+ shift; shift
elif [ $1 == "--rsyncprefix" ]; then
rsyncprefix="$2"
+ shift; shift
else
echo "$0: Unknown option $1"
usage
fi
- shift; shift
done
check_args
_______________________________________________
MediaWiki-CVS mailing list
[email protected]
https://lists.wikimedia.org/mailman/listinfo/mediawiki-cvs