Назад | Перейти на главную страницу

tmpfs - автоматически создавать весь путь при записи в файл

Я оседлал tmpfs .например.

/tmspfs/cache

Как и следовало ожидать, после перезапуска сервер будет пустым, и весь контент с монтирования отсутствует. Все в порядке. Но в моей системе есть полный путь, например. / tmpfs / cache / user1 / file - ошибка / tmpfs / cache / user1 / не существует.

Я не могу добавить в программу некоторые проверки и rmdir.

Итак, вопрос: есть ли здесь способ для автоматического создания всего пути перед созданием файла?

Спасибо.

Если вам нужна постоянная структура между перезагрузками, вы можете реализовать это, поставив задачу в rootс crontab:

*/5 * * * * /usr/bin/ionice -c3 -n7 /bin/nice -n 19 \
              /usr/bin/rsync -ah --stats --delete /path/to/persistent/backup /tmpfs/

Затем в /etc/rc.local вы убедитесь, что структура вернулась на место при запуске:

ionice -c3 -n7 nice -n 19 rsync -ahv --stats --delete /path/to/persistent/backup \
  /tmpfs/ 1>/dev/null

Конечно, вам нужно адаптировать rsync команда в соответствии с вашими конкретными потребностями.

Если вы используете /etc/fstab чтобы определить это крепление, вы можете просто добавить mkdir /tmpfs/cache/user1 к /etc/rc.d/rc.local, поэтому он будет создан при загрузке.

Возможно с LD_PRELOAD и некоторыми библиотеками, в зависимости от программного обеспечения. Самым простым может быть размещение в rc.local чего-нибудь, что создаст каталоги на последнем этапе процедуры загрузки.

Если вы хотите убедиться, что каталоги существуют постоянно, у вас может быть запущено задание cron, которое создает каталоги (возможно, используя mkdir -p).