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

Andrey Marshalenko marshall at marshall.kiev.ua
Wed Jan 25 20:56:24 EET 2017


Hi.

Можно реализовать через файл блокировки (в примере ниже переменная 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

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
=============================================================


__
With best regards,
Andrey Marshalenko.
System & Network Administrator
AM1000-UANIC
mailto: marshall at marshall.kiev.ua
tel (mob) +380676574197
Skype: marshalenko
JabberID: marshall at marshall.kiev.ua

> 25 янв. 2017 г., в 14:52, Valentin Nechayev <netch at netch.kiev.ua> написал(а):
> 
> hi,
> 
> Wed, Jan 25, 2017 at 14:49:46, krylov wrote about "[freebsd] Повторный запуск скрипта в cron": 
> 
>> Есть задача в cron'e rsync'ом делать зеркало раз в минуту
>> Как правильно обезопаситься от повторного запуска скрипта?
>> 
>> нашел https://habrahabr.ru/post/114622/
>> но в портах нет lockrun
>> 
>> flock кошерно использовать?
> 
> Фрёвая тулза зовётся lockf, и таки да, кошерно и прельстиво.
> 
> 
> -netch-
> _______________________________________________
> freebsd mailing list
> freebsd at uafug.org.ua
> http://mailman.uafug.org.ua/mailman/listinfo/freebsd

-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://mailman.uafug.org.ua/pipermail/freebsd/attachments/20170125/bd13014a/attachment.html>


More information about the freebsd mailing list