Вы могли попробовать что-то вроде этого (как glenn jackmann примечания ниже, необходимо выйти из всех %
символы):
15 11 * * * touch "/tmp/$(date +\%d-\%m-\%Y).sql"
Видеть, выполнит ли Ваш конкретный крон команду из crontab как сценарий в и себя, или если необходимо записать сценарий, который выясняет дату как строку и затем выполняет команду mysqldump.
Не выходя %
, "крон" на Redhat Enterprise Linux 5.0 (я думаю) продолжал давать мне ошибки о не нахождении соответствия )
. Это вызвано тем, что все после незавершенного %
отправляется в стандартный вход команды.
Я также взял бы рекомендацию использовать формат даты ISO8601 (yyyy-mm-dd, который является %F
) заставить имена файлов заказать по дате при лексической сортировке.
Я понимаю, что это собирается звучать и упрощенным и абсурдным, но если Вы управляете рассматриваемыми приложениями (возможно, в тестовой среде), Вы могли бы смонтировать ТОЛЬКО что каталог на собственном разделе, затем iostat
, и т.д. сказал бы Вам только об этом и ничему иному на том пятне.
Если существуют физические диски, вовлек Вас, мог бы фальсифицировать, это с обратной петлей монтируется а-ля
dd if=/dev/zero of=/bigdisk/LOOPFILE bs=1024m count=1024m # 1gb loopback file
mke2fs -j /bigdisk/LOOPFILE
mkdir /tmpcopy
mount -o loop /tmpcopy /bigdisk/LOOPFILE
cp -r -p $SPECIALDIR2MONITOR /tmpcopy
umount /tmpcopy
mount -o loop $SPECIALDIR2MONITOR /bigdisk/LOOPFILE,
Это не полностью удалило бы весь конкурирующий диск ввод-вывод, но я вполне уверен iostat
вывод был бы более характерен для Вашей потребности.
Я не думаю, что существует прямой путь. Один способ получить данные, которые Вы хотите, состоял бы в том, чтобы получить доступ к дереву каталогов через виртуальную файловую систему, которая регистрирует доступы. Loggedfs является одной такой файловой системой, хотя я не знаю, может ли он показать все данные, Вы интересуетесь. (Если не это, вероятно, было бы скромное усилие по кодированию к тем данным.)
mkdir /tmp/replica
loggedfs /path/to/directory /tmp/replica
mycommand --root=/tmp/replica
fusermount -u /tmp/replica
Можно использовать inotifywait -m DIRNAME
от inotify-инструментов.
-m
за исключением выполнения в фоновом режиме и требования outfile.
– Tobias Kienzler
18.03.2011, 11:38