ok...ich hab ein bischen gescriptet und vielleicht interessiert sich ja mal jmd dafür
Das Script liest bis jetzt nur die Config ein und gibt aus in welchem Abschnitt es steht, die Implementierung vom Rest (des Backups) muss noch gemacht werden (wenns jmd interessiert werde ich das auch hier posten^^)
backup.sh
Code:
# Init
CONFIG="/etc/backup/backup.conf"
# Initialisierung der Case-Variable
type="INIT"
# Counter initialisieren
declare -i cntFol=0
declare -i cntMySQL=0
declare -i cntPostgres=0
# Arrays initialisieren
declare -a folders
declare -a mysql
declare -a postgres
# nutze exec um die Subshell zu vermeiden
exec 3<>$CONFIG
# lese Datei zeilenweise
while read line <&3; do
if [ 1 -eq `echo $line | grep "\["[a-zA-Z0-9]*"\]" -c` ]; then
type=`echo $line | sed s/[\]\[]/""/g`
echo "$type gefunden..."
else
# Auf Leerzeilen ueberpruefen
if [ ! -z $line ]; then
case "$type" in
Folders)
# Ordner behandeln
echo "in Folders"
;;
PostgreSQL)
# PostgreSQL-DBs behandeln
echo "in Postgres"
;;
MySQL)
# MySQL-DBs behandeln
echo "in Mysql"
;;
*)
# Nix zu tun
;;
esac
fi
fi
done
exec 3>&-
Es können ohne weiteres neue Abschnitte definiert werden, es muss dann nur eine Behandlung im Case erstellt werden.
z.B.:
Code:
...
case $type in
...
SVN)
# SVN behandeln
;;
...
backup.conf
Code:
[Folders]
/home/bongokarl
/home/fuzzie
[MySQL]
bongokarl1
bongokarl2
[PostgreSQL]
fuzzie1
fuzzie2
PS: Falls das jmd benutzen will kann er das gerne tun aber auf eigene Verantwortung
Lesezeichen