[freebsd] Повторный запуск скрипта в cron

George L. Yermulnik yz at yz.kiev.ua
Wed Jan 25 23:01:47 EET 2017


Hello!

On Wed, 25 Jan 2017 at 20:56:24 (+0200), Andrey Marshalenko wrote:

> Можно реализовать через файл блокировки (в примере ниже переменная LOCK). Т. е. при запуске скрипта создается файл, который не удаляется если задание не завершено (например первый бакап длится больше заданного интервала вркмкни).

> Пример бакапа домашних папок пользователей по времени (типа ??Машина времени??):

> # cat rbackup.sh 
> =============================================================
> #!/bin/sh
> date=`date "+%Y-%m-%d-%H%M%S"`
> rsync=/usr/local/bin/rsync
> LOCK=/var/spool/lock/rbackup.lock
> LOG=/var/log/rbackup.log

> SRC=/home/
> TARGET=/var/data/backups/homes/$date
> P_TARGET=/var/data/backups/homes/Latest

> if [ -f $LOCK ]; then
>     exit 0
> fi

А тут, ой, SIGKILL - и скрипт навсегда `exit 0' =)

> touch $LOCK
> date >> $LOG
> mkdir -p $TARGET

> $rsync -auvAHX --link-dest=$P_TARGET $SRC $TARGET >>$LOG 2>&1

> rm -f $P_TARGET
> ln -s $TARGET $P_TARGET
> rm $LOCK

> exit 0
  ^^^^^^Зачем эта строка?

-- 
George L. Yermulnik
[YZ-RIPE]


More information about the freebsd mailing list