Top-Themen

Aktuelle Themen (A bis Z)

Administrator.de FeedbackApache ServerAppleAssemblerAudioAusbildungAuslandBackupBasicBatch & ShellBenchmarksBibliotheken & ToolkitsBlogsCloud-DiensteClusterCMSCPU, RAM, MainboardsCSSC und C++DatenbankenDatenschutzDebianDigitiales FernsehenDNSDrucker und ScannerDSL, VDSLE-BooksE-BusinessE-MailEntwicklungErkennung und -AbwehrExchange ServerFestplatten, SSD, RaidFirewallFlatratesGoogle AndroidGrafikGrafikkarten & MonitoreGroupwareHardwareHosting & HousingHTMLHumor (lol)Hyper-VIconsIDE & EditorenInformationsdiensteInstallationInstant MessagingInternetInternet DomäneniOSISDN & AnaloganschlüsseiTunesJavaJavaScriptKiXtartKVMLAN, WAN, WirelessLinuxLinux DesktopLinux NetzwerkLinux ToolsLinux UserverwaltungLizenzierungMac OS XMicrosoftMicrosoft OfficeMikroTik RouterOSMonitoringMultimediaMultimedia & ZubehörNetzwerkeNetzwerkgrundlagenNetzwerkmanagementNetzwerkprotokolleNotebook & ZubehörNovell NetwareOff TopicOpenOffice, LibreOfficeOutlook & MailPapierkorbPascal und DelphiPeripheriegerätePerlPHPPythonRechtliche FragenRedHat, CentOS, FedoraRouter & RoutingSambaSAN, NAS, DASSchriftartenSchulung & TrainingSEOServerServer-HardwareSicherheitSicherheits-ToolsSicherheitsgrundlagenSolarisSonstige SystemeSoziale NetzwerkeSpeicherkartenStudentenjobs & PraktikumSuche ProjektpartnerSuseSwitche und HubsTipps & TricksTK-Netze & GeräteUbuntuUMTS, EDGE & GPRSUtilitiesVB for ApplicationsVerschlüsselung & ZertifikateVideo & StreamingViren und TrojanerVirtualisierungVisual StudioVmwareVoice over IPWebbrowserWebentwicklungWeiterbildungWindows 7Windows 8Windows 10Windows InstallationWindows MobileWindows NetzwerkWindows ServerWindows SystemdateienWindows ToolsWindows UpdateWindows UserverwaltungWindows VistaWindows XPXenserverXMLZusammenarbeit

Verzeichnisstruktur ablegen und mit Datum erweitern

Mitglied: sergi62

sergi62 (Level 1) - Jetzt verbinden

21.08.2008, aktualisiert 26.08.2008, 3669 Aufrufe, 4 Kommentare

Hallo zusammen,
ich habe mich schon eigene Zeit durch die Angeboten Artikel gewühlt. Aber leider keine wo ich weiter verwenden könnte.

Wie könnte den Batch denn aussehen ?

Aufgabe: Datei In eine Verzeichesstruktur durch einen Punkt getrennt um das Tagesdatum (YYYYMMDD) erweitern werden.

z.B

01/10060746/Test1.001 -----------------> /srv/www/vid/mitglied/0/01/10060746/Test1.001.20080821
01/10060746/Test2.rab -----------------> /srv/www/vid/mitglied/0//01/10060746/Test2.rab.20080821


03/20060746/Test1.001 -----------------> /srv/www/vid/mitglied/0/03/20060746/Test1.001.20080821
03/20060746/Test2.rab -----------------> /srv/www/vid/mitglied/0/03/20060746/Test2.rab.20080821
03/20060746/Test3.pre -----------------> /srv/www/vid/mitglied/0/03/20060746/Test3.pre.20080821

usw.

die Archives Dateien müssen in folgender Verzeichnisstruktur ablegen:

Im Basisverzeichnis "/srv/www/vid/mitglied/0" wird für jeden Mitglied ein Subverzeichnis (Mandantenverzeichnis) angelegt, in Ihrem Fall also des Verzeichnis "0".
Unterhalb des Mitgliedverzeichnis kommen die zum Mitglied gehörigen Betriebsverzeichnisse also z. B. "01","03", etc.In diesen Verzeichnissen liegen alle die Daten, die für die Mitglied eines Betriebs identisch sind.

Sollen für Mitglieder spezifische Daten hinterlegt werden, so erzeugen Sie unterhalb des Betriebsverzeichnis ein mitgliedverzeichnis das die Mitgliednummer als Namen trägt. In dieses Verzeichnis können Sie dann alle Mitgliedspezifische Archiv Dateien wie z.B. die Test1 Test2 datei hinterlegen.

Sie erhalten also folgende Verzeichnisstruktur:

/srv/www/vid/mitglied Basisverzeichnis
0 Mandantenverzeichnis
01 Betriebsverzeichnis
10060746 Mitgliedverzeichnis


Die Archivdateien "Test1.001", "Test2.rab" und "Test3.pre" müssen durch einen Punkt getrennt um das Tagesdatum (YYYYMMDD) erweitern werden bevor Sie in die entsprechenden Verzeichnisse eingestellt werden, z.B. Test1.001.20080821.

Vielen Dank im Vorraus!!

Grüße
Serg
Mitglied: datasearch
22.08.2008 um 18:45 Uhr
Hallo Serg,

ich habe dir mal etwas zusammengeschrieben. Das Script kopiert den Quellordner (Parameter 1) in einen Zielordner (Parameter 2) und erweitert dabei alle Dateien um das aktuelle Datum.

Das Script kann leider nicht rekursiv kopieren. Möchtest du deine Struktur automatisch kopieren, sag nochmal bescheid.

01.
#!/bin/bash 
02.
# Parameter 1: zu kopierender Ordner 
03.
# Parameter 2: Zielpfad 
04.
05.
if [[ -d $1  &&  ! -z $1 ]]; then   # PARM1 testen 
06.
 if [[ -d $2 && ! -z $2 ]]; then    # PARM2 testen 
07.
  erweiterung=$(date +%Y%m%d)       # Datum bereitstellen 
08.
  ls -1 $1 | while read a; do       # Ordnerinhalt listen 
09.
   cp -v $1/$a $2/$a.$erweiterung   # Dateien kopieren 
10.
  done 
11.
 else 
12.
  echo FEHLER 2 - Zielordner nicht vorhanden oder nicht angegeben 
13.
  exit 1 
14.
 fi 
15.
else 
16.
 echo FEHLER 1 - Quelle nicht Vorhanden oder nicht angegeben 
17.
 exit 1 
18.
fi
Das Script produziert folgendes:
01.
./datumskopie.sh /home/USER/datum /tmp/datum 
02.
`/home/USER/datum/test1' -> `/tmp/datum/test1.20080822' 
03.
`/home/USER/datum/test1.000' -> `/tmp/datum/test1.000.20080822' 
04.
`/home/USER/datum/test1.002' -> `/tmp/datum/test1.002.20080822' 
05.
`/home/USER/datum/test1.test' -> `/tmp/datum/test1.test.20080822' 
06.
`/home/USER/datum/test1.zip' -> `/tmp/datum/test1.zip.20080822'

Für Ordnerstrukturen müsstest du alle ordner inkl. unterordner per ls auflisten, dateien Filtern, dateinamen erweitern und die ordner im zielpfad anlegen. Dauert mit jetzt zu lange .
Bitte warten ..
Mitglied: datasearch
22.08.2008 um 19:19 Uhr
Ich habe gerade noch ein wenig probiert. Du kannst einfach mit find alle Verzeichnisse im Quellpfad suchen, den passenden ordner im Zielpfad anlegen (wenn nicht vorhanden) und für den jeweiligen Ordner das obige Script ausführen. Ein ansatz währe:

01.
# Parameter1: Mitgliedsname 
02.
 
03.
QUELLPFAD=/var/projekte 
04.
ZIELPFAD=/srv/www/vid 
05.
 
06.
find $QUELLPFAD/$1/* -type d | while read f; do 
07.
 ORDNER=$(echo $f | cut -b 2-) 
08.
 ... 
09.
 CODE HIER ERGÄNZEN :-) 
10.
 ... 
11.
done 
12.
 
Bitte warten ..
Mitglied: sergi62
25.08.2008 um 18:08 Uhr
Hallo, erst mal vielen Dank für deine schnelle Antwort. Ich konnte es erst heute ausprobieren. Leider funktioniert es noch nicht so ganz.
Ich bekomme nicht einmal eine Fehlermeldung.

1) In deinem Beispiel kopierst du alle Dateien, die hinter dem Verzeichnis Datum hinterlegt sind . Muss ich die gleiche Datenstruktur sowohl auf dem Quellpfad als auch auf dem Zielpfad benutzen?
2) Kann ich alles was zum Beipiel hinter /projekte/ hinterlegt ist, auf einen Schlag auf den Zielpfad kopieren? und dies gleichzeitig mit Datum erweitern?

HIer noch mal der Code.

#!/bin/bash
QUELLPFAD=/var/projekte
ZIELPFAD=/srv/www
find $QUELLPFAD/$1/* -type d | while read f; do
ORDNER=$(echo $f | cut -b 2-)
if [[ -d $1 && ! -z $1 ]]; then
if [[ -d $2 && ! -z $2 ]]; then
erweiterung=$(date +%Y%m%d)
ls -1 $1 | while read a; do
cp -v $1/$a $2/$a.$erweiterung
done
else
echo FEHLER 2
exit 1
fi
else
echo FEHLER 1
exit 1
fi
done

Ich hoffe, dass ich mich klar ausgedrückt habe, sonst kann ich dir vielleicht noch mal eine Mail schreiben.
Vielen Dank
Serg
Bitte warten ..
Mitglied: datasearch
26.08.2008 um 09:02 Uhr
1) In deinem Beispiel kopierst du alle Dateien, die hinter dem Verzeichnis Datum hinterlegt sind . Muss ich die gleiche Datenstruktur sowohl auf dem Quellpfad als auch auf dem Zielpfad benutzen?

Jepp. Das script sollte alle DATEIEN im Ordner $1 (ERSTER PARAMETER BEI SCRIPTAUSFUF!) nach $2/dateiname.datum kopieren. $2 (Zweiter Parameter bei Scriptaufruf)

Startest du also datum.sh mit den Parametern projekt211 projekt 123, kopiert das Script alle Dateien im Ordner projekt211/* nach projekt 123/*.datum.

Habe es gerade nochmal auf einer SuSE Kiste probiert. Läuft.

2) Kann ich alles was zum Beipiel hinter /projekte/ hinterlegt ist, auf einen Schlag auf den Zielpfad kopieren? und dies gleichzeitig mit Datum erweitern?

Das zweite Script sollte das erledigen. Es sollte im ordner $QUELLE/$1 alle Unterordner auflisten und in der While-Schleife durcharbeiten. Hier könnte das 1. Script aufgerufen werden. Ich wollte dir nur eine Möglichkeit und keine Lösung präsentieren, damit du auch etwas dabei lernst .
Bitte warten ..
Ähnliche Inhalte
Batch & Shell

Rekursives Auslesen einer Verzeichnisstruktur

gelöst Frage von MinionBatch & Shell4 Kommentare

Hallo all, heute habe ich mal ein Powershellproblem. Ich möchte den Inhalt eines Laufwerkes auslesen, in Abhängigkeit der Struktur. ...

JavaScript

Datei auf Sharepoint über HTML ablegen

Frage von 94451JavaScript5 Kommentare

Hallo, ich suche eine Möglichkeit ohne PHP oder ASPX, dateien auf dem Server zu verändern kurz gesagt habe ich ...

Windows Netzwerk

Multisprachliche Verzeichnisstruktur mit einem Datenbestand

Frage von VancouveronaWindows Netzwerk3 Kommentare

Hallo zusammen, heute mal etwas knffliges: ;-) Ich hab eine feste Verzeichnisstruktur auf einem Laufwerk. Diese ist in deutscher ...

Windows Server

Übersicht Verzeichnisstruktur mit Berechtigungen

Frage von BleifussWindows Server4 Kommentare

Hallo, gibt es ein Tool, dass mir die Übersicht meiner kompletten Verzeichnisstruktur meines File Servers ausgibt? Ich habe schon ...

Neue Wissensbeiträge
Sicherheit

MikroTik-Router patchen, Schwachstelle wird ausgenutzt

Information von kgborn vor 15 StundenSicherheit

Am 23. April 2018 wurde von Mikrotik ein Security Advisory herausgegeben, welches auf eine Schwachstelle im RouterOS hinwies. Mikrotik ...

Windows 10

Microcode-Updates KB4090007, KB4091663, KB4091664, KB4091666 für Windows 10

Information von kgborn vor 21 StundenWindows 101 Kommentar

Kurze Information für Administratoren von Windows 10-Systemen, die mit neueren Intel CPUs laufen. Microsoft hat zum 23. April 2018 ...

iOS
Updates für Iphone und Co
Information von sabines vor 1 TagiOS

Gestern abend ist iOS 11.3.1 erschienen, ein kleineres Update, dass einige Lücken schließt und "Lahmlegen" nach einem Display Tausch ...

Windows 7

Windows 7 - Server 2008 R2: Exploit für Total Meltdown verfügbar

Information von kgborn vor 2 TagenWindows 7

Kleine Information für Administratoren, die für die Updates von Windows 7 SP1 und Windows Server 2008 R2 SP1 verantwortlich ...

Heiß diskutierte Inhalte
Batch & Shell
Powershell: Im AD nach Rechnern mit bestimmten IP-Adressen suchen
gelöst Frage von Raven42Batch & Shell36 Kommentare

Hallo zusammen, ich suche nach einer Möglichkeit nach Computern im AD zu suchen , deren IP-Adresse mit 10.11.12. beginnt. ...

C und C++
Frage1 C Programmierung-Makefile Frage2 PHP-Programmierung HTTP-Fehler 404
Frage von KatalinaC und C++34 Kommentare

Hallo, ich habe 2 Fragen, die nichts miteinander zu tun haben aber mit denen ich mich gerade beschäftige: 1. ...

LAN, WAN, Wireless
Watchguard T15 VPN Einrichtung
gelöst Frage von thomasjayLAN, WAN, Wireless25 Kommentare

Hallo zusammen, wir möchten gerne über unsere Watchguard T15 einen VPN-Tunnel (Mobile VPN with IPSec) einrichten! Als Client nutzen ...

Windows Server
Alten DC entfernen
Frage von smartinoWindows Server24 Kommentare

Hallo zusammen, ich habe hier eine Umgebung übernommen und erstmal einen DCDIAG gemacht. Dabei fällt auf, daß eine ganze ...