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, 2950 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 ..
Ähnliche Inhalte
Batch & Shell
gelöst Variable in Makefile durch Shell Command (2)

Frage von nico1999 zum Thema Batch & Shell ...

Batch & Shell
gelöst Dateinamen auslesen und in einer Schleife benutzen (12)

Frage von TeholBeddict zum Thema Batch & Shell ...

Batch & Shell
gelöst BATCH Zieldatei nach Shell-Befehl leer? (7)

Frage von freshman2017 zum Thema Batch & Shell ...

Neue Wissensbeiträge
Batch & Shell

Batch - ein paar Basics die man kennen sollte

Tipp von Pedant zum Thema Batch & Shell ...

Microsoft

Restrictor: Profi-Schutz für jedes Window

(6)

Tipp von AlFalcone zum Thema Microsoft ...

Batch & Shell

Batch zum Zurücksetzen eines lokalen Profils

Tipp von Mr.Error zum Thema Batch & Shell ...

Heiß diskutierte Inhalte
Microsoft Office
Saubere HTML aus Word-Dokument (16)

Frage von peterpa zum Thema Microsoft Office ...

Router & Routing
ASUS RT-N18U mit VPN Client hinter Fritzbox - Portforwarding (15)

Frage von marshall75000 zum Thema Router & Routing ...

Hosting & Housing
gelöst Webserver bei WIX, aber DNS Server wo anders (9)

Frage von laster zum Thema Hosting & Housing ...