Re: /etc/init.d/mysql: ERROR: The partition with /var/lib/mysql is too full!
В Чтв, 24/01/2008 в 01:04 +0300, Artem Chuprina пишет:
> Покотиленко Костик -> debian-russian@lists.debian.org @ Wed, 23 Jan 2008 21:40:56 +0200:
>
> >> ПК> # check for diskspace shortage
> >> ПК> datadir=`mysqld_get_param datadir`
> >> ПК> if LC_ALL=C BLOCKSIZE= df --portability $datadir/. | tail -n 1 | awk
> >> ПК> '{ exit ($4>4096) }'; then
> >> ПК> log_failure_msg "$0: ERROR: The partition with $datadir is too
> >> ПК> full!"
> >> ПК> echo "ERROR: The partition with $datadir is too
> >> ПК> full!" | $ERR_LOGGER
> >> ПК> # exit 1
> >> ПК> fi
> >>
> >> ПК> =======================
> >> ПК> # /usr/sbin/mysqld --verbose --help | grep datadir
> >> ПК> -h, --datadir=name Path to the database root.
> >> ПК> datadir /var/lib/mysql/
> >> ПК> # LC_ALL=C BLOCKSIZE= df --portability /var
> >> ПК> Filesystem 1024-blocks Used Available Capacity Mounted on
> >> ПК> /dev/hda7 9614116 2929680 6196064 33% /var
> >> ПК> =======================
> >>
> >> ПК> Есть идеи?
> >>
> >> ПК> Что значит это условие в /etc/init.d/mysql:
> >>
> >> ПК> if LC_ALL=C BLOCKSIZE= df --portability $datadir/. | tail -n 1 | awk
> >> ПК> '{ exit ($4>4096) }'; then
> >>
> >> ПК> ??
> >>
> >> Что тот, кто его написал - кретин.
> >>
> >> Замени в нем > на <. А что значит - ну, man awk, да...
>
> ПК> Да... но есть 2 НО:
>
> ПК> 1. в консоли данное условие возвращает FALSE (то есть не срабатывает),
> ПК> странно?
>
> А, ну да, оно ж используется как обратное...
>
> ПК> 2. на другой машине всё точно так же и работает. И на этой работало
> ПК> до перезагрузки :/
>
> ПК> Пролейте света.
>
> Разбираться надоть... Попробуй повыводить в лог промежуточные
> результаты (вывод df, результат применения к нему tail, результат той же
> команды с заменой exit ($4>4096) на print $4). Не вручную, а из этого
> скрипта. При загрузке.
Мистика, ночью сервак перезагружался, и теперь проблема пропала. А я
хотел было потестить, но не вышло...
--
Покотиленко Костик <casper@meteor.dp.ua>
Reply to: