mi sono fatto un piccolo (ed elementarissimo) script per fare un backup di alcuni file e directory su una directory di un disco usb. Vorrei che alcune directory (/pacchetti; /slackbuild; /Sorgenti), venissero copiate solo quando allo script viene passata una particolare opzione. Ovviamente non so come fare e chiedo un aiuto. Si accettano anche suggerimenti e correzioni per renderlo più funzionale, leggibile ed esteticamente più gradevole. Sarebbe oltremodo gradito un commento per le eventuali correzioni (in modo da capirne il significato).
Grazie a chiunque mi dedicherà un pochino del suo tempo!
Codice: Seleziona tutto
##script fileback.sh (Backup personale)
#!/bin/bash
#
#dichiarazione variabili
DOCUM=/home/tigerwalk
BACK=/media/DATISLACK/home/slackware_current
BACK1=/media/DATISLACK/home/slackware_current/"$(uname -r)"
CONF=/usr/src/linux/.config
DATE=`date +%d/%m/%Y-%H:%M`
#
set -e
if [ -e $BACK ]; then
echo "comincia la copia dei file"
else
echo "devi montare directory"
fi
#$(su -)
#$(cd /boot/)
#$(cp /boot/insideslack_lilo.bmp $BACK)
#$(cp /boot/initrd.gz $BACK)
$(cp /etc/fstab $BACK)
$(cp /etc/profile $BACK)
$(cp /etc/profile.d/lang.sh $BACK)
$(cp /etc/profile.d/lang.csh $BACK)
$(cp /etc/inittab $BACK)
$(cp /etc/sudoers $BACK)
$(grep -vE '(^[[:space:]]*($|(#|!|;|//)))' /etc/lilo.conf > $BACK/lilo.conf)
if [ -e /tmp/initrd/ ]; then
$(find /tmp/initrd/ | cpio -o -H newc | gzip -9 -n > $BACK/initrd.gz)
fi
$(cp /etc/rc.d/rc.local $BACK)
$(cp /etc/rc.d/rc.M* $BACK)
if [ -e /etc/rc.d/c.xconf ]; then
$(cp /etc/rc.d/rc.xconf $BACK)
fi
if [ -e /etc/rc.d/rc.autoX ]; then
$(cp /etc/rc.d/rc.autoX $BACK)
fi
$(cp /etc/rc.d/rc.governor $BACK)
$(cp /etc/modprobe.d/blacklist $BACK)
if [ -e /etc/X11/gui.conf ]; then
$(cp /etc/X11/gui.conf $BACK)
fi
$(cp /etc/X11/xorg.conf* $BACK)
$(cp /etc/slackyd/slackyd.conf $BACK)
if [ -e /usr/bin/fileswapon.sh ]; then
$(cp /usr/bin/fileswapon.sh $BACK)
fi
if [ -e $DOCUM/.conkyrc ]; then
$(cp $DOCUM/.conkyrc $BACK/conkyrc)
fi
#$(cp -R $DOCUM/pacchetti/ $BACK)
#$(cp -R $DOCUM/SlackBuild/ $BACK)
#$(cp -R $DOCUM/Sorgenti/ $BACK)
$(cp -R $DOCUM/file_utili/ $BACK)
if [ -e $DOCUM/bin/ ]; then
$(cp -R $DOCUM/bin/ $BACK)
fi
if [ -e $DOCUM/.bashrc ]; then
$(cp $DOCUM/.bashrc $BACK/bashrc)
fi
$(cp $DOCUM/.bash_profile $BACK/bash_profile)
$(cp $DOCUM/comandi_utili $BACK)
$(cp $DOCUM/bookmarks.html $BACK)
if [ -e /etc/cpufreqd.conf ]; then
$(cp /etc/cpufreqd.conf $BACK)
fi
$(grep -vE '(^[[:space:]]*($|(#|!|;|//)))' /etc/X11/xorg.conf > $BACK/xorg.txt)
#
$(cd $BACK)
if [ $BACK1 ]; then
rm -fr $BACK1 && mkdir $BACK1
fi
$(zcat /proc/config.gz > $BACK1/config)
#crea i file date.txt
$(cd $BACK1 && touch date.txt)
echo $DATE > $BACK1/date.txt
$(cd $BACK && touch date.txt)
echo $DATE > $BACK/date.txt
#
echo "copia finita"
exit


