16 сент. 2012 г.

Простой скрипт резервного копирования. Upd.

Немного доделал свой старый скрипт резервного копирования. Теперь он определяет, что ему передали директорию и архивирует ее в один файл в директорию бакапов.


#!/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

2 комментария:

  1. Пару советов/замечаний:

    > myhome=`echo ~`
    можно получить из переменной $HOME

    > if [ -d "$1" ]; then
    нет проверки был ли передан параметр скрипту. В данном случает сработает блок что в else и соответственно cp будет материться, что пропущен операнд.

    ОтветитьУдалить