sh scripting

Jan Friedel jf at devnull.cz
Tue Jan 28 22:49:32 CET 2014


	Zdravim,

On Tue, Jan 28, 2014 at 10:34:54PM +0100, Jan Dutko wrote:
> Zdravim V cronu mam nasledujici tvorbu hodinovych snapshotu: 0 6-18 *
> * 1-5 sbin/zfs snapshot -r zfs at zfs`/bin/date "+.%Y.%m.%d.%H.%M"`
> 
> To vytvari v pracovni dny od rana od 6 po dalsich 12h pravidelne
> snapshoty s nazvem zfs at zfs.2014.01.28.06.00 uvedene snapshoty chci v
> jedenact vecer smazat s vyjimkou posledniho, ktery pujde ten den do
> zalohy. Pokud mozno jednoradkovym prikazem
> 
> for `zfs list -H -t snapshot | cut -f 1 | grep vzor1 | grep -v vzor2`
> do zfs destroy $snapshot done
> 
> Problemem je, ze potrebuji vlozit misto vzoru1 `date "+%Y.%m.%d"`
> Navic jeste "protigrep" kde by byl misto vzoru2 `date
> "+%Y.%m.%d.18.00"`
> 
> Dalsi je tvorba vikendoveho snapshotu a pote smazani snapshotu
> vytvorenych tento tyden. Zde je otazkou, zda je mozne udelat
> jednoradkovy prikaz, umoznujici smazani uvedenych snapshotu, nebo
> radeji script ktery bude pocitat s vice moznostmi.
> 
	zeptam se jinak; jak zalohujete? Vytvorite klon posledniho
	snapshotu? Nebylo by v takovem pripade jednodussi nejdrive
	odzalohovat a nasledne vsechny snapshoty smazat nez resit, ktery
	je posledni? Pokud jsou jmena snapshotu v nejakem rozumnem
	formatu, jako ze jsou, pak je staci vylistovat a vynechat
	posledni a neresit vzory. 

	No a treba najdete jeste nejake jednodussi reseni.

	Preju fajn zbytek vecera,

	/hf.



More information about the Users-l mailing list