tisdag 10 mars 2015

Linux - Bash Litet Backup Script jag jobbat på under natten

















ett litet script som kopierar en kopia av /etc/apt/ tillbaka till /etc/apt/
eller skapar en kopia av /etc/apt/ antligen som .tgz eller som i befitligt skick
perfekt då man ska installera om datorn och vill ha sina gammla ppa tillbaka
spara som .install.sh

#!/bin/bash
#!/bin/sh
clear

MAL="/etc/apt/"
KALLA="$(realpath $(dirname $0))"
RANDOM=`date '+%s'`
MY_RANDOM="$RANDOM % 60) + 1]"

start_help(){
clear
echo "Script som återställer backup ifrån $MAL"
echo "$KALLA tillbaka till $MAL"
echo "tänk på att $MAL kommer raderas!!!!!"
echo "Skoja! klart jag gjort en backup på nuvarande varje gång du kör scriptet
echo "om du vill skapa en backup så går det som packad version eller som opackad version"
echo "gjort en  kopia av $MAL till osynlig fil"
echo "som du hittar i $KALLA skriv ls -a för visa alla filer..."
echo ""
echo "sudo sh .install.sh replace             Erstätter $MAL med filerna ifrån $KALLA"
echo "sudo sh .install.sh backup              packar ner $MAL till $KALLA i osynlif tar fil ."
echo "sudo sh .install.sh all                 Kör alla alternativen..."
echo "sudo sh .instal.sh backup_to_here       Tarbort $KALLA och ersätter med $MAL <-- are YOU SURE!!!"
echo "sudo sh .install.sh felsokning          Visar lite information som kan användas vid felsöknings syfte"
echo ""
echo"(c) hynt@speed-mailer.com   free to use and modify" 
return $TRUE
}
all(){
clear
backup_MAL
replace_MAL
felsokning
return $TRUE
}
felsokning(){
echo felsökning!
echo $KALLA
echo $MAL
echo $MY_RANDOM
echo $MY_DATE
return $TRUE
}
backup_MAL(){
sudo tar cfvz .$MY_RANDOM.tgz --exclude="install.sh" apt.conf.d preferences.d sources.list.d trusted.gpg.d *.*
return $TRUE
}
replace_MAL(){
cd $MAL && rm -R  *.*
cd $KALLA && cp *.* $MAL
cd $KALLA && cp -r *.d $MAL
cd $MAL && rm install.sh && rm *.tgz
return $TRUE
}

backup_to_here(){
cd $KALLA && cp .install.sh $MAL
cd $KALLA && rm -r  *.* && rm -r *.d && rm *.*
cd $MAL && cp *.* $KALLA
cd $MAL && cp -avr *.d $KALLA
echo "Grattis! nu är $MAL alla filer i $KALLA men dom osynliga .filerna ifrån tidigare är kvar"
return $TRUE
}
# -Case start
# if no command line arg given
# set val to Unknown
if [ -z $1 ]
then
  val="*** Unknown  ***"
elif [ -n $1 ]
then
# otherwise make first arg as val
  val=$1
fi
# use case statement to make decision for rental
case $val in
   "replace") replace_MAL ;;
   "backup_to_tar") backup_MAL ;;
   "all") all ;;
   "backup_to_here") backup_to_here ;;
   "help") start_help ;;
   "felsokning") felsokning ;;
   *) echo "Sorry, I can not get a $val for you use install.sh help!";;
esac
# Case stop

Inga kommentarer: