Fórum Root.cz

Hlavní témata => Vývoj => Téma založeno: lu.kas 26. 03. 2010, 12:24:13

Název: Jednoduchý shell skript pro zálohu
Přispěvatel: lu.kas 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áš
Název: Re: Jednoduchý shell skript pro zálohu
Přispěvatel: ondrej 26. 03. 2010, 12:39:34
co treba tohle:
Kód: [Vybrat]
DATUM=`date +"%y%m%d"`
Název: Re: Jednoduchý shell skript pro zálohu
Přispěvatel: Sleep_Walker 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"
Název: Re: Jednoduchý shell skript pro zálohu
Přispěvatel: Radek 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)
Název: Re: Jednoduchý shell skript pro zálohu
Přispěvatel: lu.kas 26. 03. 2010, 14:09:41
Dík moc chlapi za bleskový odpovědi, funguje to 8)