Как отключить параллельный запуск в скрипте bash

Как отключить параллельный запуск в скрипте bash

Мне необходимо создать скрипт для сбора некоторых данных из одной базы данных и форматирования в соответствии с требованиями. Он должен запускаться запланированным заданием cron, но не должно быть параллельных запусков. (Если один процесс запущен, то другой не должен запускаться).

Помогите мне сделать это в скрипте bash.

решение1

Вы можете использовать файл блокировки. При запуске скрипта проверьте, существует ли уже файл блокировки, если да, то выйдите, если нет, то продолжите. Когда создадите файл блокировки, выполните свой скрипт. И перед выходом удалите файл блокировки. Что-то вроде этого:

if [ - f lock ] ; then
exit 1
fi
touch lock
your code
rm lock

Связанный контент