我经常将我正在处理的临时文件粘贴在 /tmp 中,因此我不必在完成后删除它们。但是,如果计算机崩溃,那么我就不走运了,因为该目录将被擦除。
如果计算机从崩溃中重新启动,有没有办法防止 /tmp 被擦除?如果没有,是否有其他解决方案,例如在别处创建另一个临时目录,并在没有崩溃的情况下在重新启动时自动删除它。
And*_*ini 11
/tmp在启动时由 Upstart 脚本清除/etc/init/mounted-tmp.conf。如果您查看该文件,您会发现没有办法告诉它不执行他的工作。但是,您可以自由修改它。
这是我将如何进行:
在mount-tmp.conf 的最后(就在 之前end script),放置以下内容:
touch /tmp/.notclean
Run Code Online (Sandbox Code Playgroud)
这样,每次挂载 /tmp 时,.notclean都会创建一个文件。
在以下行之后(脚本开始删除文件之前的行)...
cd "${MOUNTPOINT}" || exit 1
Run Code Online (Sandbox Code Playgroud)
...检查是否存在.notclean. 如果该文件存在,则表示计算机没有正常关机。
cd "${MOUNTPOINT}" || exit 1
[ -f .notclean ] && exit 0
Run Code Online (Sandbox Code Playgroud)现在你需要一个新的 Upstart 脚本,它会.notclean在关机时删除。创建/etc/init/mark-tmp-clean.conf并放置此代码:
description "some useful description"
start on starting rc
task
script
rm -f /tmp/.notclean
end script
Run Code Online (Sandbox Code Playgroud)