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, 2949 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
Ähnliche Inhalte
Windows Netzwerk
gelöst Gruppenrichtlinien Item-Level targeting per Power Shell ändern (7)

Frage von Lukas4580 zum Thema Windows Netzwerk ...

Batch & Shell
Script zum Entpacken von rar und zip-Dateien (5)

Frage von windows-nutzer zum Thema Batch & Shell ...

Batch & Shell
Verschachtelte For Schleife für Batch Neuling (3)

Frage von yperiu zum Thema Batch & Shell ...

Batch & Shell
gelöst Linux Shell Mailanhang umbenennen (2)

Frage von Thekivi zum Thema Batch & Shell ...

Heiß diskutierte Inhalte
Erkennung und -Abwehr
Virenschutz - Meinungen (28)

Frage von honeybee zum Thema Erkennung und -Abwehr ...

Windows 10
Welches OS für Firmengeräte? (18)

Frage von MarkusVH zum Thema Windows 10 ...

Netzwerke
Abisolierwerkzeug (18)

Frage von SarekHL zum Thema Netzwerke ...

Exchange Server
SBS2011: POP3-Connector 10 MB Grenze Email Benachrichtigung (17)

Frage von bogi1102 zum Thema Exchange Server ...