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

Frage Linux

Verzeichnisstruktur ablegen und mit Datum erweitern

Mitglied: sergi62

sergi62 (Level 1) - Jetzt verbinden

21.08.2008, aktualisiert 26.08.2008, 3660 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
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 ...

Batch & Shell
Verzeichnisstruktur mit datenbank abgleichen
Frage von woidl85Batch & Shell1 Kommentar

hallo zusammen, beine shell kentnisse sind leider nicht ausreichend, ich versuche ein script zu schreiben welches per cron-job alle ...

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. ...

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 ...

Neue Wissensbeiträge
Router & Routing

PfSense als Addon auf QNAP

Information von magicteddy vor 33 MinutenRouter & Routing

Moin, für Spielereien eine ganz nette Idee aber ich fürchte das soetwas auch als echte Firewall genutzt wird: In ...

Datenschutz

Teamviewer kommt für IoT-Geräte wie den Raspberry Pi

Information von magicteddy vor 7 StundenDatenschutz

Moin, jetzt werden IoT Geräte endgültig zur Wanze? Anscheinend kann man auf einem Dashboard seine Geräte visualisieren Ich stelle ...

Microsoft

Letzte Updates für Win10 und Server2016 müssen bei Bedarf über den Update catalogue in den WSUS importiert werden!

Tipp von DerWoWusste vor 12 StundenMicrosoft1 Kommentar

automatisch kommt da nichts an im WSUS und auch nicht im SCCM. Siehe Hinweise zum Bezug der jeweils neuesten ...

Linux

Meltdown und Spectre: Linux Update

Information von Frank vor 3 TagenLinux

Meltdown (Variante 3 des Prozessorfehlers) Der Kernel 4.14.13 mit den Page-Table-Isolation-Code (PTI) ist nun für Fedora freigegeben worden. Er ...

Heiß diskutierte Inhalte
Netzwerkmanagement
Preis für Wartungsvertrag ok?
gelöst Frage von a-za-zNetzwerkmanagement22 Kommentare

Hallo! Mal ne Frage, weil ich mich mit dem akzeptablen Preis für einen Reaktionszeitvertrag nicht auskenne. Meine Firma hat ...

Windows Netzwerk
Ist ein Portforwarding auf einen PC ohne lauschendes Programm ein (großes) Sicherheitsproblem?
Frage von PluwimWindows Netzwerk13 Kommentare

Hallo zusammen, zur Fernwartung eines Rechners an einem anderen Ort nutze ich VNC. Da dieser Rechner einfach nur eine ...

Windows Server
Terminal Server 2016 erkennt Berechtigungen nicht
gelöst Frage von Thomas2Windows Server10 Kommentare

Hallo Administratoren, folgendes Problem stellt sich dar: Es gibt zwei Windows Server 2016, die als Terminal Server fungieren. Jetzt ...

SAN, NAS, DAS
Wer kennt sich mit QNAP und CISCO aus ?
gelöst Frage von MachelloSAN, NAS, DAS10 Kommentare

Hallo Zusammen hier im Forum, Ich habe ein QNas 451+ und dieses NAS hat zwei GBit Lan Adapter die ...