Xanti
Mouse Organist
Was steht in /tmp/menu.tmp.$$ und warum leitest Du den Fehler dahin um?
Folge dem Video um zu sehen, wie unsere Website als Web-App auf dem Startbildschirm installiert werden kann.
Anmerkung: Diese Funktion erfordert derzeit den Zugriff auf die Seite über den integrierten Safari-Browser.
Nun kannst du sicher auf die richtige Datei zugreifen, auch wenn dazwischen andere Prozesse gestartet werden.NUM=$$;
My_Tempfile=/temp/temp$NUM
...
#! /bin/bash
function wahl()
{
echo "Menupunkt 1"
}
function wahl2()
{
echo "Menupunkt2"
}
function save()
{
clear;
frage=
echo "'d' (Datensicherung) oder 'z' (Zurücklesen?) 'e' (Ende)"
read frage
if [ -z $frage ]
then
$function save
elif [ "$frage" = "e" ]
then
exit
elif [ "$frage" = "d" ]
then
$function datensave
elif [ "$frage" = "z" ]
then
$function datenlesen
fi
}
function datensave()
{
if [ -d /datensicherung ]
then
echo;
else
mkdir /datensicherung
fi;
clear;
echo;
echo "Zum Abbruch 'e' (Ende) eingeben!"
echo;
echo "Vorhandene Datensicherung : "
echo `ls /datensicherung`
dverz=
echo -e "bitte geben Sie das zu sichernde Verzeichnis ein!"
read dverz
if [ -z $dverz ]
then
exit;
elif [ "$dverz" = "e" ]
then
exit;
fi
datei=
echo "Bitte nun den Namen für die Sicherungsdatei eingeben!"
read datei
tar -czvf /datensicherung/$datei.tgz $dverz # datensicherung von home in *.tgz
# tar -dzvf /datensicherung/$datei.tgz $dverz # verifizieren der Daten
echo;
echo "Die Sicherung von '$dverz' wurde in '/Datensicherung' erstellt!"
}
function datenlesen()
{
clear;
if [ -d /datensicherung ]
then
save=
PS3="Welche Datensicherung zurücklesen? "
cd /datensicherung
select save in *
do echo $save
break;
done;
tar -xzvf /datensicherung/$save # wiederherstellen der gesicherten Daten
else
echo "Das Verzeichnis ´/datensicherung´ existiert nicht!"
echo "Der Vorgang wurde beendet."
fi;
}
clear;
if [ -w /etc/fstab ]
then
echo;
else
echo "Zur Ausführung muessen Sie als 'root' angemeldet sein!"
fi
echo "._______________________________________________________."
echo "| |"
echo "| Dieses Programm unterstuetzt Sie |"
echo "| bla bla bla |"
echo "._______________________________________________________."
echo;
echo "Folgende Funktionen sind verfuegbar: "
echo;
echo;
PS3="Waehlen Sie eine Funktion: "
echo;
select auswahl in "menupunkt 1" "menupunkt 2" "Datensicherung" "Programm beenden"
do echo
case $auswahl in
"menupunkt 1" ) wahl; break;;
"menupunkt 2" ) wahl2; break;;
"Datensicherung" ) save; break;;
"Programm beenden" ) exit; break;;
* ) echo "Ungueltige Auswahl";;
# * ) programname; break;; # hat neustart des Prog. bei Fehleingabe zur Folge
esac
done
exit;
1) save.tgz
2) save2.tgz
3) save3.tgz
Welche Datensicherung zurücklesen?f
tar: /datensicherung/: Cannot read: Is a directory
tar: At beginning of tape, quitting now
tar: Error is not recoverable: exiting now
gzip: stdin: unexpected end of file
tar: Child returned status 2
tar: Error exit delayed from previous errors
choice=`cat /tmp/menu.tmp.$$`
rm -f /tmp/menu.tmp.$$
case choice="save" in
start)
$saveend
echo "Sicherung wurde durchgeführt"
;;
*)
esac
exit 0
case "$choice" in
save)
archive;
echo "Sicherung durchgeführt"
;;
*)
echo "Sicherung nicht durchgeführt"
;;
esac
archive() {
read $saveend
if [ '$archive' = 'save'] ; then
echo "see if we already have a $NAME"
if [ -e /var/files/$ZNAME ];
then
echo "File exists I will remove it first .. Please wait"
rm /var/files/$NAME 2> /dev/null
echo "saving in /var/files/$NAME"
fi
tar Pczf /var/files/$NAME \
/etc/network/interfaces \
/etc/config/*.cfg \
/etc/config/*.config \
/etc/config/*.log
echo "Sicherung wurde durchgeführt"
fi
read saveend
if [ '$saveend' = 'save'] ; then
if [ -e /var/files/$ZNAME ]
logger "Die Sicherung wurde durchgeführt. Die gesicherte Datei
/var/files/$NAME ist `stat -c %s /var/files/$NAME` Bytes groß."
./test: line 7: [: missing `]'
Sicherung wurde durchgeführt
7 if [ '$archive' = 'save'] ; then
dizzgo schrieb:Hallo,
ich würd jetzt mal so spontan sagen, dass die Hochkommas um $archive weg müssen...
Gruss
d22
if [ '$archive' = 'save'] ; then
if [ '$archive' = 'save' ]; then
if [ '$archive' = 'save'] ; then
if [ "$archive" = "save" ] ; then
phrenicus schrieb:...
@Xanti: Genau :-)
Und Gratulation zum 1000. Post :-)
bash -x -e skript
if [ "$choice" = "save" ]; then
++ uname -n
++ date +%Y%m%d%H
+ NAME=XXX_2006070313_config.tar.gz
+ whiptail --title Save_Config --menu 'Hi, this is a menu box. You can use this to\nsave the configuration\nChoose the one of them:' 10 40 4 save 'Saving the configuration' Beenden 'Beende das Menue'
++ cat /tmp/menu.tmp.1614
+ choice=save
+ rm -f /tmp/menu.tmp.1614
+ archive
+ read saveend
+ '[' save = save ']'
+ echo 'see if we already have a XXX_2006070313_config.tar.gz'
see if we already have a XXX_2006070313_config.tar.gz
+ '[' -e /var/files/XXX_2006070313_config.tar.gz ']'
+ tar Pczf /var/files/XXX_2006070313_config.tar.gz /etc/network/interfaces /etc/config/*.cfg /saru/config/application.cfg /etc/*.cfg /etc.log
+ echo 'Sicherung wurde durchgeführt'
Sicherung wurde durchgeführt
+ echo 'Sicherung wurde durchgeführt'
Sicherung wurde durchgeführt