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
Prenumerera på:
Kommentarer till inlägget (Atom)
Inga kommentarer:
Skicka en kommentar