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: [email protected]
tel (mob) +380676574197
Skype: marshalenko
JabberID: [email protected]
> 25 янв. 2017 г., в 14:52, Valentin Nechayev <[email protected]> написал(а):
>
> 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
> [email protected]
> http://mailman.uafug.org.ua/mailman/listinfo/freebsd
_______________________________________________
freebsd mailing list
[email protected]
http://mailman.uafug.org.ua/mailman/listinfo/freebsd