PDA

Archiv verlassen und diese Seite im Standarddesign anzeigen : sternchen (*) in variable auswerten



iso
19-07-2005, 13:03
hallo, ich habe mir ein backup-script geschrieben, meine config dateien usw einzusammeln und zu packen. mit einzelnen dateien ist alles roger, aber es gibt anwendungen, da brauche ich das ganze verzeichnis (openvpn, openssl). dazu brauche ich ein sternchen (für alles im verzeichnis) in einer variable.

hier das script bis jetzt:



# Dieses Script sammelt die Config-Dateien des
# bkupsrv01 ein und packt sie
#

# Variablen fuer verschiedene config-namen
samba_conf=smb.conf
gnump3d_conf=gnump3d.conf
cups_conf=cupsd.conf
pureftpd_conf=pure-ftpd.conf
openvpn_conf="*"
postfix_conf=main.cf
openssl_conf="*"

# wertet letzten rueckgabewert aus
erfolgreich()
{
if [ $? == 0 ]
then
echo erfolgreich!
else
echo nicht erfolgreich!
fi
}

backup()
{
if [ $# < 2 ]
then
echo "Fehlerhafte Argumentenanzahl"
else
echo "$1..."
mkdir -p /data2/backup/config-dateien/$1
fi
# testen, wo die config-datei liegt: /etc/name/datei.conf oder /etc/datei.conf
if [ -d /etc/$1 ]
then
cp -rvu /etc/$1/$2 /data2/backup/config-dateien/$1/
else
cp -rvu /etc/$2 /data2/backup/config-dateien/$1/
fi

erfolgreich
echo
}

restore()
{
echo
echo "archiv wird entpackt..."
tar jxfv config-dateien.tgj
echo
echo "configs werden an ursprungsorte kopiert..."
cp -vi /data2/backup/config-dateien/gnump3d/* /etc/gnump3d/
cp -vi /data2/backup/config-dateien/samba/* /etc/samba/
cp -vi /data2/backup/config-dateien/cups/* /etc/cups/
cp -vi /data2/backup/config-dateien/postfix/* /etc/postfix/
cp -vi /data2/backup/config-dateien/pure-ftpd/* /etc/pure-ftpd/
cp -vi /data2/backup/config-dateien/coot.local/* /etc/init.d/
cp -vi /data2/backup/config-dateien/openvpn/* /etc/openvpn/
rm -vr /data2/backup/config-dateien/
}

case $1 in
backup)
for n in "gnump3d $gnump3d_conf" "cups $cups_conf" "pure-ftpd $pureftpd_conf" "openvpn $openvpn_conf" "postfix $postfix_conf" "openssl $openssl_conf"
do
backup $n
done

echo ganzen kram packen...
tar -jvcf /data2/backup/config-dateien.tgj /data2/backup/config-dateien/
erfolgreich
rm -vr /data2/backup/config-dateien/
;;

restore)
restore
;;

*)
echo
echo "{backup | restore}"
echo
;;
esac
exit

Romanday
19-07-2005, 21:29
Soweit ich mich dunkel erinnern kann, ist in $* alle Parameter
die dem Script übergeben werden gespeichert.
Die könnte man dann z. B. nach einem * parsen. (ungetestet)

iso
21-07-2005, 11:57
also,
echo $* bringt nix. oder hab ich dich falsch verstanden?