2009-07-14 7 views
0

Ich bin neu bei Linux-Befehlen und verbringe die meiste Zeit in VB. Nach der Suche im Internet ist es schwierig, eine Lösung in Google zu finden.RAR Jeder Ordner im Verzeichnis

Wie auch immer, ich täglich meine Shares-Ordner sichern und endet mit 183 GIG. Ich habe viele Möglichkeiten ausprobiert und bin zu dem Schluss gekommen, dass die Verwendung von Rar die beste Option für meine Umgebung ist. Das ist also der Befehl, den ich verwenden:

./rar a -v1g -m0 -ow -ag[dd-mm-yy] Shares "/shares" 

Das Ergebnis, das ich bekommen, ist eine Menge Teildateien „Shares[15-07-09].part01.rar“ was in Ordnung ist.

Was ich wirklich will jetzt zu tun ist, jeder Ordner innerhalb des Aktien-Verzeichnis zu sichern, so dass ich so etwas wie:

Folder1[15-07-09].part01.rar 
Folder2[15-07-09].part01.rar 
Folder3[15-07-09].part01.rar 

Nun, ich hoffe, euch mit einem einfachen Skript helfen können, die ich in der Lage sein sollte, verstehen.

Antwort

1
cd /shares ; find . -type d -maxdepth 1 -exec rar a -v1g -m0 -ow '-ag[dd-mm-yy]' '/backupdir/{}' '{}' ';' 

der Befehl Suchen suchen Verzeichnisse (Typ d) nicht-rekursiv (-maxdepth 1) in "/ Aktien" und führt (exec) den rar-Befehl. Das '{}' wird durch den Namen des gefundenen Verzeichnisses ersetzt. Ich bin über alle Ihre rar Schalter nicht sicher, aber wenn der Befehl unten arbeitet dann der Befehl find sollte das tun, was Sie wollen:

rar a -v1g -m0 -ow -ag[dd-mm-yy] /backupdir/Folder1 /shares/Folder1 
0

Dies ist, was ich mit endete.

cd /BackupServer/WNGLX2/ ; find /shares -maxdepth 1 -type d -printf "%P\n" |xargs -i /BackupServer/WNGLX2/rar a -v1g -m0 -ow -ag[dd-mm-yy] {} /shares/{} \;