Назад | Перейти на главную страницу

Создайте задание cron для запуска redis каждые 30 минут, если оно не запущено

Я хочу создать задание cron, которое будет запускать redis каждые 30 минут, если оно еще не запущено, но я не знаю, что мне делать.

Я знаю, что начало должно выглядеть так */30 * * * */<some path to redis-server file>.

Я хочу создать это задание cron, потому что его запускать redis через ./redis-server каждый раз вылетает.

Я понял, что он вылетает, потому что мое использование памяти было немного превышено. Спасибо за вашу помощь.

  1. Redis не должен давать сбоев. Я бы сначала сосредоточился на этом. Не хватает оперативной памяти?
  2. Используйте что-нибудь вроде Руководитель или Монитили запустите Redis через что-то вроде Выскочка.

Ответ: сосредоточиться на причинах сбоя - это правильно. На будущее, если кто-то ищет способ выполнить cron для проверки работающего приложения и запустить его, если это не так, я всегда делал это с помощью сценария bash. Например:

#!/bin/bash

# Check if httpd is running
if pgrep "httpd" > /dev/null
then
    echo "Running"
else
    /etc/init.d/httpd start
fi

Затем вы можете cron скрипт bash даже каждую минуту. Это простая версия. Я также предлагаю регистрировать перезапуски в скрипте, чтобы помочь вам отследить, когда ваше приложение вылетает, чтобы вы могли просматривать журналы.