Сбой Crontab, но ничто неправильно в журналах

Проверять апачские модули, установленные в Вашей системе:

apache2ctl -M or apachectl -M

Чтобы проверить, установлен ли OpenSSL в Вашей системе:

Для дистрибутивов GNU/Linux, которые используют RPM-пакеты:

rpm -qa | grep -i openssl

Для дистрибутивов GNU/Linux, которые используют deb пакеты:

dpkg -l | grep -i openssl
0
задан 26 August 2010 в 12:58
3 ответа

Я предложу Вас другой путь к присмотру за детьми провального сервиса: psmon. Это - маленький демон, записанный в Perl, имея Apache стильный файл конфигурации. Это позволяет Вам определять весь вид условий от просто проверки, что процесс осознает перезапуск его, если процесс использует слишком много RAM/ЦП. Перезапуск произойдет путь раньше, чем после потенциальной 10-минутной задержки, которую Вы имеете со своим текущим кроном.

Это может также отправить Вам e-mail/log события, которые это выполнило, таким образом, Вы видите, как часто процесс перезапущен, если Вы так хотите.

1
ответ дан 4 December 2019 в 15:10

Ubuntu использует Выскочку для управления демонами. Посмотрите man 5 init. Вот общественный HowTo и статья в Википедии.

Посмотрите на некоторые существующие файлы в /etc/init.d как модели для Вашего собственного liveinstance.conf файл. Обратите особое внимание на необходимый раздел комментария в начале файлов.

Что касается того, почему Ваш сценарий не работает a cron задание, Khai корректен, что это обычно - различие в среде. Необходимо удостовериться, что Вы устанавливаете $PATH включать любые каталоги, что Вы требуете, чтобы не были в значении по умолчанию $PATH или использование полностью указало каталоги к сценариям и утилитам, которые Вы используете.

1
ответ дан 4 December 2019 в 15:10

Измените строку в crontab, чтобы она выглядела так (или в любой другой оболочке, в которой вы написали скрипт):

*/10 * * * * /bin/bash /var/foo/live/foo25/bin/liveinstance1 start >> /dev/null 2>&1

Также вам нужно добавить свой путь к crontab, запустите этот скрипт:

#!/bin/bash
#
# Date: August 22, 2013
# Author: Steve Stonebraker
# File: add_current_shell_and_path_to_crontab.sh
# Description: Add current user's shell and path to crontab
# Source: http://brakertech.com/add-current-path-to-crontab
# Github: https://github.com/ssstonebraker/braker-scripts/blob/master/working-scripts/add_current_shell_and_path_to_crontab.sh

# function that is called when the script exits (cleans up our tmp.cron file)
function finish { [ -e "tmp.cron" ] && rm tmp.cron; }

#whenver the script exits call the function "finish"
trap finish EXIT

########################################
# pretty printing functions
function print_status { echo -e "\x1B[01;34m[*]\x1B[0m $1"; }
function print_good { echo -e "\x1B[01;32m[*]\x1B[0m $1"; }
function print_error { echo -e "\x1B[01;31m[*]\x1B[0m $1"; }
function print_notification { echo -e "\x1B[01;33m[*]\x1B[0m $1"; }
function printline { 
  hr=-------------------------------------------------------------------------------------------------------------------------------
  printf '%s\n' "${hr:0:${COLUMNS:-$(tput cols)}}"
}
####################################
# print message and exit program
function die { print_error "$1"; exit 1; }

####################################
# user must have at least one job in their crontab
function require_gt1_user_crontab_job {
        crontab -l &> /dev/null
        [ $? -ne 0 ] && die "Script requires you have at least one user crontab job!"
}


####################################
# Add current shell and path to user's crontab
function add_shell_path_to_crontab {
    #print info about what's being added
    print_notification "Current SHELL: ${SHELL}"
    print_notification "Current PATH: ${PATH}"

    #Add current shell and path to crontab
    print_status "Adding current SHELL and PATH to crontab \nold crontab:"

    printline; crontab -l; printline

    #keep old comments but start new crontab file
    crontab -l | grep "^#" > tmp.cron

    #Add our current shell and path to the new crontab file
    echo -e "SHELL=${SHELL}\nPATH=${PATH}\n" >> tmp.cron 

    #Add old crontab entries but ignore comments or any shell or path statements
    crontab -l | grep -v "^#" | grep -v "SHELL" | grep -v "PATH" >> tmp.cron

    #load up the new crontab we just created
    crontab tmp.cron

    #Display new crontab
    print_good "New crontab:"
    printline; crontab -l; printline
}

require_gt1_user_crontab_job
add_shell_path_to_crontab
0
ответ дан 4 December 2019 в 15:10

Теги

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