F
fab!o
Grünschnabel
Hallo Unix-Community,
hab da ein kleineres Script Problem ... Ich soll einen Backupjob einrichten, der einen Ordner (eigentlich nur dessen Unterordner), automatisch tared & das daraus resultierende tarfile nach dessen Ursprungsordner benennt. Ein konkretes Beispiel gibts zur besseren Veranschauung ...
home
-folder1
-folder2
-folder3
daraus soll das script folder1.tar, folder2.tar und folder3.tar erstellen ... (Ich war noch nie gut in Schleifen schreiben ... belehrt mich eines besseren wenns sogar ohne Schleife geht ...). Es darf übrigens nicht gehardcoded werden, da die Ordnerstruktur sich stets vergrössert und ich das Script nicht jedes mal erweitern möchte.
Grüsse und danke für Eure Tipps
fab!o
//EDIT
Da war ich wohl ein bisschen voreilig mitm Posten, hab was in den weiten des Netzes gefunden ... vielleicht hilfts ja jemandem auch noch
bakdir="/home";
bakdirlength=${#bakdir};
destdir="/dort/soll/es/hin";
exclude="/pfad/zur/excludedirs";
for directory in $(find $bakdir -maxdepth 1 -mindepth 1 -type d); do
dirname=${directory:$bakdirlength}
tar -X $exclude -czf $destdir$dirname.tgz $directory
done
hab da ein kleineres Script Problem ... Ich soll einen Backupjob einrichten, der einen Ordner (eigentlich nur dessen Unterordner), automatisch tared & das daraus resultierende tarfile nach dessen Ursprungsordner benennt. Ein konkretes Beispiel gibts zur besseren Veranschauung ...
home
-folder1
-folder2
-folder3
daraus soll das script folder1.tar, folder2.tar und folder3.tar erstellen ... (Ich war noch nie gut in Schleifen schreiben ... belehrt mich eines besseren wenns sogar ohne Schleife geht ...). Es darf übrigens nicht gehardcoded werden, da die Ordnerstruktur sich stets vergrössert und ich das Script nicht jedes mal erweitern möchte.
Grüsse und danke für Eure Tipps
fab!o
//EDIT
Da war ich wohl ein bisschen voreilig mitm Posten, hab was in den weiten des Netzes gefunden ... vielleicht hilfts ja jemandem auch noch
bakdir="/home";
bakdirlength=${#bakdir};
destdir="/dort/soll/es/hin";
exclude="/pfad/zur/excludedirs";
for directory in $(find $bakdir -maxdepth 1 -mindepth 1 -type d); do
dirname=${directory:$bakdirlength}
tar -X $exclude -czf $destdir$dirname.tgz $directory
done
Zuletzt bearbeitet: