Запланировать запуск отменяемого сценария по истечении времени

Для mcrypt.h необходимо установить libmcrypt-dev . Установка его в ваш дистрибутив Ubuntu не поможет, потому что вы используете кросс-компиляцию, а не нативную. Либо ваш sysroot должен предоставлять это (но это не так), либо вы должны установить его, изменив корневой каталог на sysroot через chroot .

2
08.05.2017, 11:29
1 ответ

Возможно, используйте lockfile (из проекта procmail) для такого сценария "отменить и перезагрузить".

#!/bin/bash

SLEEP=$1
LOCKFILE="/tmp/reload.lock"
MYPID=$$
MYNAME=$(basename "$0")

lockfile "$LOCKFILE"
# kill all other scripts with the same name
KILLPIDS=$(pgrep "^${MYNAME:0:12}" | grep -v "^$MYPID\$")
kill $KILLPIDS 2>/dev/null
rm -f "$LOCKFILE"

sleep "$SLEEP"

lockfile "$LOCKFILE"
/etc/init.d/myscript reload
rm -f "$LOCKFILE"

Максимум один скрипт будет выполняться между командами lockfile и rm.

Обратите внимание: файл reload-lock лучше разместить там, где только один пользователь имеет права на запись (не /tmp!).

2
27.01.2020, 22:10

Теги

Похожие вопросы