#!/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]>"
fi
P.S.: Учел замечания ZEN. Thanks ZEN :)P.P.S: Выложил скрипт на GITHub. https://github.com/rettpop/bkp
 
 
Пару советов/замечаний:
ОтветитьУдалить> myhome=`echo ~`
можно получить из переменной $HOME
> if [ -d "$1" ]; then
нет проверки был ли передан параметр скрипту. В данном случает сработает блок что в else и соответственно cp будет материться, что пропущен операнд.
Дельно. Поправлю :)
Удалить