Stefan Enzinger wrote:
> On 03/20/2012 09:46 PM, Maximilian Koch wrote:
>> der jetzige Code funtioniert tadellos, aber eben es werden alle einzelnen
>> dateien im Ordner abgelegt..
>>
>> wget -rP ${BACKUPORDNER}/'Backup vom '${DATUM} -i domains-WEBSERVER.txt
>
> Komprimier den Ordner doch einfach nach dem Download weg.
>
> ungefähr so:
>
> OLD_DIR="$PWD"
> cd "${BACKUPORDNER}"
> tar -cjf "Backup vom ${DATUM}.tbz" "Backup vom ${DATUM}"
> rm -rf Backup vom ${DATUM}
> cd $OLD_DIR
Besser so:
date_str=$(date +%Y%M%dT%H%m%S.%N%z-$$)
# ...
cd "${backup_dir}" \
&& tar -cvjf "Backup_vom_${date_str}.tar.bz2" "Backup vom ${date_str}" \
&& rm -rfv "Backup vom ${date_str}" \
&& cd -
Das hat gegenüber Deiner Lösung folgende Vorteile:
- Einsparung einer Variablen;
- durch Kleinschreibung geringeres Risiko, Umgebungsvariablen zu
überschreiben/überlagern;
- tar(1) nur, wenn cd(1) erfolgreich;
- Feedback, was tar(1) tut (kann mit 2>/dev/null unterdrückt werden);
- keine Leerzeichen in Dateinamen (sollte auch für das Verzeichnis gelten);
- relativ eindeutiger und kompatibler Dateiname, Genauigkeit anpassbar
(dito);
- rm(1) nur, wenn tar(1) erfolgreich(!);
- Feedback, was rm(1) tut (s. o.);
- kein Löschversuch der Dateien/Verzeichnisse namens "Backup", "vom" und
"${DATUM}"(!);
- cd(1) nur, wenn rm(1) erfolgreich; kann man am Ende von _nicht-gesourcten_
Scripts aber auch weglassen, da $PWD bezogen auf die jeweilige Shell ist.
--
PointedEars
Please do not Cc: me. / Bitte keine Kopien per E-Mail.