Jednoduchý shell skript pro zálohu

Jednoduchý shell skript pro zálohu
« kdy: 26. 03. 2010, 12:24:13 »
Zdravím,
linux (Ubuntu) používám jako prachprostý uživatel, ale teď jsem přišel na potřebu (hlavně chuť to rozchodit) napsat ultrajednoduchý shell skript. Pročetl jsem různý tutoriály atd., strávil nad tím asi hodinu, ale kýženýho výsledku jsem se nedobral. Pomozte pls, předpokládám, že pro vás to budete otázka dvacetivteřinovýho zkoumání kódu :)

Kód: [Vybrat]
DATUM='date +"%y%m%d"'
ZDROJ=/home/lukas/kopirovany_adresar/$DATUM
CIL=/home/lukas/Zalohy/
cp $ZDROJ -R $CIL
Předpokládám, že z kódu je jasné, o co se snažím, jednoduše zkopírovat adresář do jiného - jména generovaného dle data.

Dík za pomoc
Lukáš
« Poslední změna: 26. 03. 2010, 12:36:24 od Petr Krčmář »


ondrej

Re: Jednoduchý shell skript pro zálohu
« Odpověď #1 kdy: 26. 03. 2010, 12:39:34 »
co treba tohle:
Kód: [Vybrat]
DATUM=`date +"%y%m%d"`

Sleep_Walker

Re: Jednoduchý shell skript pro zálohu
« Odpověď #2 kdy: 26. 03. 2010, 12:40:25 »
Kód: [Vybrat]
ZDROJ="/home/lukas/kopirovany_adresar/$(date +"%y%m%d")"
CIL="/home/lukas/Zalohy/"
cp -R "$ZDROJ" "$CIL"

Radek

Re: Jednoduchý shell skript pro zálohu
« Odpověď #3 kdy: 26. 03. 2010, 13:27:26 »
Předpokládám, že z kódu je jasné, o co se snažím, jednoduše zkopírovat adresář do jiného - jména generovaného dle data

A němelo to být spíše takhle:
DATUM='date +"%y%m%d"'
ZDROJ=/home/lukas/kopirovany_adresar
CIL=/home/lukas/Zalohy/$DATUM
cp $ZDROJ -R $CIL


Každý máme svůj styl, a já to osobně pišu spíše takto:

#!/bin/bash
declare -r ZDROJ=$HOME/kopirovany_adresar
declare -r CIL=$HOME/zaloha
[[ -d $CIL ]] || mkdir -p $CIL
declare -r ROPTS="-avP --delete --delete-after" # podle potřeby, -v a -P jsou moc ukecane
rsync $ROPTS $ZDROJ/ $CIL/$(date +%F)

Re: Jednoduchý shell skript pro zálohu
« Odpověď #4 kdy: 26. 03. 2010, 14:09:41 »
Dík moc chlapi za bleskový odpovědi, funguje to 8)