#!/bin/sh BKPDIR=`date +"%Y-%m-%d"` BKPPREFIX=`date +"%Y-%m-%d_%H-%M-%S_"` targetdir="$HOME/backups/$BKPDIR" echo "making $targetdir" mkdir -p $targetdir if [[ "" != "$1" ]]; then if [ -d "$1" ]; then zip -r "$targetdir/$BKPPREFIX`basename $1`.bkp.zip" "$1" else echo "copy $1 to $targetdir/$BKPPREFIX`basename $1`.bkp" cp $1 $targetdir/$BKPPREFIX`basename $1`.bkp fi else echo "Usage: bkp <[file]|[dir]>" fiP.S.: Учел замечания ZEN. Thanks ZEN :)
P.P.S: Выложил скрипт на GITHub. https://github.com/rettpop/bkp
Пару советов/замечаний:
ОтветитьУдалить> myhome=`echo ~`
можно получить из переменной $HOME
> if [ -d "$1" ]; then
нет проверки был ли передан параметр скрипту. В данном случает сработает блок что в else и соответственно cp будет материться, что пропущен операнд.
Дельно. Поправлю :)
Удалить