Я оседлал 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).