Top-Themen

AppleEntwicklungHardwareInternetLinuxMicrosoftMultimediaNetzwerkeOff TopicSicherheitSonstige SystemeVirtualisierungWeiterbildungZusammenarbeit

Aktuelle Themen

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

Schleife für das Archivieren von Verzeichnissen mit Unrar-Rar (Shell)

Frage Entwicklung Batch & Shell

Mitglied: Lampux

Lampux (Level 1) - Jetzt verbinden

26.10.2010, aktualisiert 07:52 Uhr, 2946 Aufrufe, 3 Kommentare

Hallo zusammen,


ich habe bereits für das Entpacken eine Schleife geschrieben (in Shell): for f in *.rar;do unrar e -ad -o+ $f;done

Nun bräuchte ich für das Archivieren im Fomrat *.rar eine Schleife, die Ordnerstruktur sieht folgendermaßen aus:

In einem Verzeichnis test sind folgende Verzeichnisse z.B:

0015
Test0004
Baumfotos2010
KeineAhnung01
15

Diese Verzeichnisse sollten in *.rar Archive gepackt werden, also die Ausgabe sollte folgendes ausgeben:

0015.rar
Test0004.rar
Baumfotos2010.rar
KeineAhnung01.rar
15.rar

Die Parameter für das Packen von Rar-Archive sind: rar a [Ausgabedatei.rar] [~/Verzeichnis das hinzugefügt werden soll]

Könnt ihr mir viellecht eine Codelösung geben?

mfg Lampux
Mitglied: micneu
27.10.2010 um 09:48 Uhr
z.b. ich würde mir erstmal eine liste mit den verzeichnissen erstellen die ich sichern will (ist die bekannt oder nicht?)
ich gehe davon aus die struktur ist dünamisch bis auf bis auf das hauptverzeichnis.

bei zum testen:

/tmp
01.
find /tmp/* -type d > rar.txt          # erstellt mir eine text datei in meinem aktuellen verzeichnis mit den namen der verzeichnissen die in /tmp liegen.
diese kannst du jetzt mit einer for schleife abarbeiten

als beispiel so:

01.
#!/bin/bash 
02.
 
03.
### erstellt rar dateien aus den verzeichnissen 
04.
 
05.
DATEI=rar.txt 
06.
ZAEHLER=1 
07.
DEST=/tmp/ 
08.
for i in $(cat $DATEI); do 
09.
    echo $ZAEHLER $i 
10.
    echo rar a $i.rar $i 
11.
    ZAEHLER=$(($ZAEHLER+1)) 
12.
     
13.
done
ich lasse zum testen nur den befehl als echo ausgeben so kann ich sehen was er draus macht.
ich würde jetzt noch die ausgabe in eine art logdatei schreiben und so kann ich jeden tag sehen was gepackt wurde.
möchtest du noch ein anderes ziel verzeichnis haben so solltest du mit sed noch die path angaben anpassen.

das könnte man noch mit einbauen:

01.
sed -e "s/\/*.\///g;s/\///g" rar.txt
entfernt den path

also könnte man es so lösen

01.
#!/bin/bash 
02.
 
03.
### erstellt rar dateien aus den verzeichnissen 
04.
 
05.
DATEI=rar.txt 
06.
ZAEHLER=1 
07.
DEST=/backup/ 
08.
SOURCE=/tmp/* 
09.
 
10.
find $SOURCE -type d > rar.txt  
11.
 
12.
for i in $(cat $DATEI); do 
13.
    echo $ZAEHLER $i 
14.
    b=`echo $i | sed -e "s/\/*.\///g;s/\///g"` 
15.
    echo rar a $DEST$b.rar $i 
16.
    ZAEHLER=$(($ZAEHLER+1)) 
17.
     
18.
done
gruß michael
Bitte warten ..
Mitglied: micneu
29.10.2010 um 20:33 Uhr
und hast du schon getestet?

gruß michael
Bitte warten ..
Mitglied: micneu
20.04.2011 um 15:42 Uhr
Habe es nochmal etwas überarbeitet

01.
#!/bin/bash 
02.
 
03.
### erstellt rar dateien aus den verzeichnissen 
04.
 
05.
ZAEHLER=1 
06.
DEST=/tmp 
07.
SOURCE=/var/ 
08.
 
09.
for i in $(find "$SOURCE" -maxdepth 1 -type d); do 
10.
    echo $ZAEHLER $i 
11.
    b=`echo $i | sed -e "s/\///g"` 
12.
    echo rar a $DEST/$b.rar $i 
13.
    ZAEHLER=$(($ZAEHLER+1)) 
14.
done 
15.
 
Bitte warten ..
Neuester Wissensbeitrag
Windows 10

Powershell 5 BSOD

(8)

Tipp von agowa338 zum Thema Windows 10 ...

Ähnliche Inhalte
Batch & Shell
gelöst Crontab mit Shell Probleme (9)

Frage von mschaedler1982 zum Thema Batch & Shell ...

Batch & Shell
Dateinamen nach Zeichnen abschneiden - Batch-Shell (9)

Frage von cberndt zum Thema Batch & Shell ...

Batch & Shell
Schleife mit todos CMD

Frage von TommyDerWalker zum Thema Batch & Shell ...

Heiß diskutierte Inhalte
Microsoft
Ordner mit LW-Buchstaben versehen und benennen (21)

Frage von Xaero1982 zum Thema Microsoft ...

Outlook & Mail
gelöst Outlook 2010 findet ost datei nicht (19)

Frage von Floh21 zum Thema Outlook & Mail ...

Netzwerkmanagement
gelöst Anregungen, kleiner Betrieb, IT-Umgebung (18)

Frage von Unwichtig zum Thema Netzwerkmanagement ...

Windows Update
Treiberinstallation durch Windows Update läßt sich nicht verhindern (14)

Frage von liquidbase zum Thema Windows Update ...