LPS:Převod upload adresáře mediawiki do hash formátu
Z HelpDesk
jak praví tato stránka http://www.mediawiki.org/wiki/Manual:$wgHashedUploadDirectory není doporučeno měnit nastavení $wgHashedUploadDirectory pokud jsem již nějaké soubory nahráli. Ale co dělat v případě tom, že se uploadované soubory začnou kupit a zapnout hashování by bylo fajn? Pak je tu úžasný skript
Bash skript
#!/bin/bash if [ x$1 == x ] || [ $1 == "help" ]; then echo "Script for building hashed folder structure for Mediawiki upload folder" echo "Usage: script path" exit fi echo -e "Working directory is $PWD/$1" path=`echo $1 | sed s./$..` echo -n "Creating backup folder $path.bck: " cp -r $1 $path.bck echo -e "done \n" for i in `ls -lA $1 | grep -v ^d | awk {'print $8'} ` ; do echo -e "Name of file is $i" hash=`echo -n $i | md5sum | awk {'print $1'}` echo -e "it's hash is $hash" folder1=`echo $hash | cut -b1` echo -e "so first folder will be $folder1" folder2=`echo $hash | cut -b1-2` echo -e "and second folder $folder2" echo -n "Creating folders: " mkdir -p $1/$folder1/$folder2 echo -e "done" echo -n "Moving file: " mv $1/$i $1/$folder1/$folder2 echo -e "done" echo "" done echo -e "Now taking archive directory\n\n" archive="$path/archive" for i in `ls -lA $archive | grep -v ^d | awk {'print $8'} ` ; do echo -e "Name of file is $i" sname=`echo $i | cut -d'!' -f2-` echo -e "short name is $sname" hash=`echo -n $sname | md5sum | awk {'print $1'}` echo -e "it's hash is $hash" folder1=`echo $hash | cut -b1` echo -e "so first folder will be $folder1" folder2=`echo $hash | cut -b1-2` echo -e "and second folder $folder2" echo -n "Creating folders: " mkdir -p $archive/$folder1/$folder2 echo -e "done" echo -n "Moving file: " mv $archive/$i $archive/$folder1/$folder2 echo -e "done" echo "" done
Použití
je velmi jednoduché. Zdrojový kod uložíme do souboru a dáme mu práva pro spustitelnost. Pak zavoláme
./skript cesta_k_upload_slozce
Skript nejprve vytvoří záložní složku se stejným jménem a příponou .bck a následně původní složku převede do hash formátu. Pokud je vše ok je možné záložní složku smazat