Страница 1 из 1

tmpwatch удаляет /tmp/systemd-private-*-mysqld

Добавлено: 02 дек 2015, 05:30
admsasha
С какого то времени mysql стал запускаться через systemd и создавать в /tmp каталог подобия "/tmp/systemd-private-6713caa6d5104be0b5d2f1747ae3dec9-mysqld.service-kYxZsK/tmp", в R4 такого не происходило. Если каталог этот удалить, то mysql будет ругаться на недоступность /tmp.

Есть некий tmpwatch, который запускается по cron каждый день. Так вот, в R6 он стал удалять все эти /tmp/systemd-private-*, все /tmp/mc-*, и т.д. Чего не было в том же R4. т.е. у меня каждый 10 дней mysql падает из-за этого tmpwatch. Сделайте по умолчанию не удаления этих важных файлов/каталогов.

Re: tmpwatch удаляет /tmp/systemd-private-*-mysqld

Добавлено: 02 дек 2015, 13:20
keleg
у нас /tmp в tmpfs. Т.е. комп работает в режиме сервера и не перегружается?

Re: tmpwatch удаляет /tmp/systemd-private-*-mysqld

Добавлено: 02 дек 2015, 13:42
keleg
tmpwatch по идее должен удалять только то, что не изменяется уже 10 дней. Попробуйте в fstab вырубить noatime

Re: tmpwatch удаляет /tmp/systemd-private-*-mysqld

Добавлено: 02 дек 2015, 14:17
admsasha
keleg писал(а):у нас /tmp в tmpfs. Т.е. комп работает в режиме сервера и не перегружается?
Лично я не выключаю компьютер, а делаю режим сна, тот же эффект. И да, комп работает в режиме сервера. Тип файловой системы тут вроде как не причем. Важно что через 10 дней, по умолчанию, файлы удаляются.

Re: tmpwatch удаляет /tmp/systemd-private-*-mysqld

Добавлено: 02 дек 2015, 14:19
admsasha
keleg писал(а):tmpwatch по идее должен удалять только то, что не изменяется уже 10 дней. Попробуйте в fstab вырубить noatime
Ну так mysql создает файл и удаляет его, а время изменения каталога /tmp/systemd-mysql-*/tmp/ не изменяется.

Re: tmpwatch удаляет /tmp/systemd-private-*-mysqld

Добавлено: 02 дек 2015, 14:53
d_uragan
tmpwatch в R4 по умолчанию не работал из-за кривого конфига, в R6 это починили:)

Попробуйте tmpwatch отсюда, там добавлены исключения на /tmp/systemd-private-* (только надо будет после установки пакета /etc/sysconfig/tmpwatch.rpmnew переименовать в /etc/sysconfig/tmpwatch):

(32bit) http://abf-downloads.rosalinux.ru/rosa2 ... n/release/
(64bit) http://abf-downloads.rosalinux.ru/rosa2 ... n/release/

Re: tmpwatch удаляет /tmp/systemd-private-*-mysqld

Добавлено: 02 дек 2015, 17:02
admsasha
Ясно :-D
Можно же просто конфиг поменять ?

Re: tmpwatch удаляет /tmp/systemd-private-*-mysqld

Добавлено: 03 дек 2015, 04:23
admsasha
Как то не правильно работает:

Код: Выделить всё

# ll /tmp/111
итого 8
drwxr-xr-x 2 root root 4096 дек  3 09:17 systemd-private-test/
drwxr-xr-x 2 root root 4096 дек  3 09:17 systemd-private-test2/

Код: Выделить всё

# tmpwatch --verbose -X /tmp/111/systemd-* 1d /tmp/111/
error: bad time argument /tmp/111/systemd-private-test2
Если есть более одного каталога попадающие под маску, то вот такая вот ошибка.

Re: tmpwatch удаляет /tmp/systemd-private-*-mysqld

Добавлено: 03 дек 2015, 10:42
d_uragan
при запуске tmpwatch из командной строки надо экранировать всякие шаблоны, чтобы bash их не раскрывал. Например, в кавычки брать:

# tmpwatch --verbose -X '/tmp/111/systemd-*' 1d /tmp/111/

Чтобы это при запуске через cron работало, надо пошаманить в /etc/cron.daily/tmpwatch - например, добавить "set -f" перед вызовом tmpwatch с такими опциями (и не забыть вызвать "set +f" после, на всякий случай) - https://abf.io/import/tmpwatch/commit/a ... diff-F0R47