То, почему мой демон крона, уничтожается каждые несколько минут?

Пользователь Mysql находится в пользователе таблицы базы данных Mysql для резервного копирования эта таблица, Вы могли сделать это:

mysqldump -u root -p mysql user > UserTableBackup.sql

Для резервного копирования вся база данных mysql и создает файл для каждой базы данных, Вы могли сделать свой собственный сценарий оболочки, после некоторой строки кода, которая может помочь Вам:

    # Get all database list first
DBS="$($MYSQL -u $MyUSER -h $MyHOST -p$MyPASS -Bse 'show databases')"

echo `date +%Y%m%d_%H_%M_%S` - Backup Mysql Database Started >> /home/Backup/Backup.log 
for db in $DBS
do
    skipdb=-1
    if [ "$IGGY" != "" ];
    then
    for i in $IGGY
    do
        [ "$db" == "$i" ] && skipdb=1 || :
    done
    fi

    if [ "$skipdb" == "-1" ] ; then
    FILE="$MBD/$db.$HOST.$NOW.gz"
    # do all inone job in pipe,
    # connect to mysql using mysqldump for select mysql database
    # and pipe it out to gz file in backup dir :)
        echo `date +%Y%m%d_%H_%M_%S` - Backup "$db.$HOST.$NOW.gz" Started  >> /home/Backup/Backup.log
        $MYSQLDUMP -u $MyUSER -h $MyHOST -p$MyPASS --default-character-set=utf8 $db | $GZIP -9 > $FILE
        echo `date +%Y%m%d_%H_%M_%S` - Backup "$db.$HOST.$NOW.gz" Completed !  >> /home/Backup/Backup.log
    fi
done
3
задан 8 July 2012 в 17:02
2 ответа

После долгих проб и ошибок, Я нашел обходной путь. По какой-то причине cron уничтожается (предположительно хостом) только в том случае, если он работает в режиме демона. При запуске с cron -f процесс продолжается. Итак, я создал простой скрипт, чтобы запустить его на переднем плане (и постоянно перезапускать его в маловероятном случае, если он действительно погибнет):

#!/bin/bash -u
while [ 1 ]; do
        logger -i -t cronrestart -p cron.warn "Launching cron daemon"
        cron -f
        logger -i -t cronrestart -p cron.warn "Cron daemon killed"
done
logger -i -t cronrestart -p cron.warn "Quitting"

Затем я запускаю этот сценарий запуска через nohup cronrestart> / dev / null & , чтобы он работал в фоновом режиме. Cron работает уже неделю таким образом, но его не убивают.

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

0
ответ дан 3 December 2019 в 06:13

Look at /proc/user_beancounters, more specifically, at the failcnt column.

For all the non-zero entries, you'll need to increase the barrier/limit accordingly, it's probably just OpenVZ killing your processes for hitting them.

Here is a description of each column: http://wiki.openvz.org/Proc/user_beancounters

For accountable parameters, the field held shows the current counter для контейнера (ресурс «использование»), а поле maxheld показывает максимум счетчика за последний отчетный период. Бухгалтерский учет период - обычно время жизни контейнера.

Поле failcnt показывает количество отклоненных «выделений ресурсов» на все время жизни группы процессов.

Поля барьера и ограничения являются параметрами управления ресурсами. Для некоторых параметров, можно использовать только один из них, для некоторых параметров - оба. В этих полях могут быть указаны ограничения или гарантии, а также точное значение из них зависит от параметра. Описание каждого параметра в UBC параметры содержат информацию о разнице между barrier and the limit for the parameter.

4
ответ дан 3 December 2019 в 06:13

Теги

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