Dateien anlegen und löschen?

Vom einfachen Programm zum fertigen Debian-Paket, Fragen rund um Programmiersprachen, Scripting und Lizenzierung.
Antworten
joschiluna
Beiträge: 28
Registriert: 15.08.2006 10:06:06
Wohnort: Landau-Pfalz
Kontaktdaten:

Dateien anlegen und löschen?

Beitrag von joschiluna » 27.07.2009 08:29:06

Hallo,

ich schreibe mnir zur Zeit ein Script, dass mir einen Virtuellen_Host zurückspielt und durch ein anderes Script dieses wieder löscht

Code: Alles auswählen

# Dieses Script richtet eine Doamin ein und spielt die Sichrung
# der Domain www.albi-projekt.de zurueck
#---------ACHTUNG es MUSS die DATEI virtualhost_albi unter
# /etc/apache2/sites-available/ angelegt werden, sonst kann kein sysmlink gesetzt werden.



## Dokumentroot der Domain
SICHERUNGS_VERZEICHNIS=/home/sicherungen/www.albi-projekt.de/

## ------- Dieser Eintrag muss bei einer Ruecksicherung geaendert werden.
AKTUELLE_SICHERUNG=2009-07-26-05.00.01

VIRTUAL_HOST=virtualhost_albi

## Datei unter /etc/apache2/sites-available
DOKUMENT_ROOT=www.albi-projekt.de

##DOAMIN=http://www.albi-projekt.de
DOAMIN=http://www.interact.uni-landau.de

#----------Ruecksicherungsbeginn-----------------------

cd $SICHERUNGS_VERZEICHNIS  &&
cd $AKTUELLE_SICHERUNG

tar xvfz fileadmin*.tar.gz &&
tar xvfz typo3conf*.tar.gz &&
tar xvfz uploads*.tar.gz


## Anlegen des DOKUMENTROOT
cd /home/web/www &&

mkdir $DOKUMENT_ROOT &&


## LOG FILES fuer irtuellen Host
cd /home/web/log/ &&
mkdir $DOKUMENT_ROOT && touch access.log && touch error.log &&


## TYPO3SOURCE fuer die Domain erstellen
cd /home/web/typo3_src/dummy-4.2.1 &&
cp -R * /home/web/www/$DOKUMENT_ROOT &&
cd  /home/web/www/$DOKUMENT_ROOT &&

## SYSLINK SETZTEN
rm typo3_src &&
ln -s /home/web/typo3_src/typo3_src-4.2.6/ typo3_src &&

## Rechte fuer das Webverzeichnis setzten
cd /home/web/www &&
chmod 777 * && chown -R www-data * && chgrp -R www-data * &&


## Doamin auf dem Server fü Web freischalten
cd /
ln -s /etc/apache2/sites-available/$VIRTUAL_HOST  /etc/apache2/sites-enabled/$VIRTUAL_HOST &&


-- EINFÃGEN --                                                                                        


Nun möchte ich zusätzlich, dass wenn ein Verzeichnis oder Datei schon vorhanden ist, diese vor dem Anlegen gelöscht wird.
Ungefähr so.

mkdir $DOKUMENT_ROOT "IST $DOMUNETROOT vorhanden then rm -r $DOKUMENTROOT, dann lege es nochmal an.

Könnte mir bitte jemand helfen, ich habe letzte Woche mit dem Scriptig angefangen.

Danke

joschiluna
Beiträge: 28
Registriert: 15.08.2006 10:06:06
Wohnort: Landau-Pfalz
Kontaktdaten:

Re: Dateien anlegen und löschen?

Beitrag von joschiluna » 27.07.2009 08:47:24

Hallo,

das klappt

## besteht das Dokumentroot wird es geloescht, dann neu angelegt.
if [ -f $DOKUMENT_ROOT ]
then
rm $DOKUMENT_ROOT
fi

evtl. gibt es noch eine bessere Lösung.

joschiluna
Beiträge: 28
Registriert: 15.08.2006 10:06:06
Wohnort: Landau-Pfalz
Kontaktdaten:

Re: Dateien anlegen und löschen?

Beitrag von joschiluna » 27.07.2009 08:52:50

Hatte einen kleinen Fehler

so gehts

## Dokumentroot der Domain
SICHERUNGS_VERZEICHNIS=/home/sicherungen/www.albi-projekt.de/

## ------- Dieser Eintrag muss bei einer Ruecksicherung geaendert werden.
AKTUELLE_SICHERUNG=2009-07-26-05.00.01

VIRTUAL_HOST=virtualhost_albi

## Datei unter /etc/apache2/sites-available
DOKUMENT_ROOT=www.albi-projekt.de

##DOAMIN=http://www.albi-projekt.de
DOAMIN=http://www.interact.uni-landau.de



cd /home/web/www &&

## besteht das Dokumentroot wird es geloescht, dann neu angelegt.
if [ $DOKUMENT_ROOT ]
then
rm -r $DOKUMENT_ROOT
fi


exit

uname
Beiträge: 12426
Registriert: 03.06.2008 09:33:02

Re: Dateien anlegen und löschen?

Beitrag von uname » 27.07.2009 09:05:16

Ein kleiner Tipp zur Scriptprogrammierung.

Generell würde ich nicht "cd /pfad/irgendwo" mit einem Folgebefehl wie "cp *" verknüpfen. Besser ist Befehle wie "cp /pfad/irgendwo/* ..." zu nutzen. Und selbst die Befehle wie "cp" gibt man gerne als "/bin/cp" an, um Fehler auszuschließen.

joschiluna
Beiträge: 28
Registriert: 15.08.2006 10:06:06
Wohnort: Landau-Pfalz
Kontaktdaten:

Re: Dateien anlegen und löschen?

Beitrag von joschiluna » 27.07.2009 10:03:33

Danke,

das mit der Abfrage klappt soweit

# Pfad zu /etc/apache2/sites-enabled/
cd $VIRTUALHOSTAPACHE

if [ $ENABLE ]
then
rm $ENABLE
fi

Nur wenn keine Datei vorhanden ist, dann kommt logischerweise eine Fehlermeldung,
" Entfernen von âerror.logâ nicht möglich: Datei oder Verzeichnis nicht gefunden"

wie stelle ich das an, dass das Script auch dann weiter abgearbeitet wird, wenn keine Datei zum löschen da ist?

Danke

Frage

das mit dem cp haber ich nicht ganz verstanden
DOKUMENT_ROOT=www.albi-projekt.de

cp $DOKUMENT_ROOT

wie würde das denn ausehen? Sorry ich bin noch Anfänger.

uname
Beiträge: 12426
Registriert: 03.06.2008 09:33:02

Re: Dateien anlegen und löschen?

Beitrag von uname » 27.07.2009 10:06:58

Schau dir den Befehl "test" an.

Code: Alles auswählen

man test
Der Wert in eckigen Klammern entspricht im Prinzip dem Befehl "test".

Code: Alles auswählen

 
-e FILE
              FILE exists

Antworten