Re: /etc/init.d/mysql: ERROR: The partition with /var/lib/mysql is too full!
Покотиленко Костик -> 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). Не вручную, а из этого
скрипта. При загрузке.
--
Artem Chuprina
RFC2822: <ran{}ran.pp.ru> Jabber: ran@jabber.ran.pp.ru
/dev/null-транспортировка
Reply to: