mktemp可以选择使用$TMPDIR来定位新的临时文件/目录。对于我的应用程序,我不想使用/tmp,因为它被挂载在/上,因为它的空间很少。我宁愿让我的脚本转到类似/app-name/tmp的地方。
如何创建这样一个临时目录,以便在重新启动时自动清除它?
当我运行ls -ld /tmp时,我得到以下输出,在末尾显示一个"t“。这是什么意思?这是重启时自动清理的关键吗?
$ ls -ld /tmp
drwxrwxrwt 32 root root 2072576 Feb 1 18:37 /tmp我正在使用SLES 11 SP3。
$ uname -a
Linux XYZ 3.0.101-0.47.71-default #1 SMP Thu Nov 12 12:22:22 UTC 2015 (b5b212e) x86_64 x86_64 x86_64 GNU/Linux发布于 2016-02-01 18:58:24
您可以使用TMPDIR=/app-name/tmp start_my_app调用应用程序(假设您对临时文件使用标准apis ),并安装一个在/ app -name/tmp上有空间的设备。
在模式中的"t“是粘性位,它与温度无关。你可以读到关于粘性的信息,这里。
要清空文件夹,您可以使用tmpfs (如果您的音量很低),或者在init中添加一些内容,或者使用crontab。
发布于 2016-02-01 19:56:04
tmp的清除不是由系统自动完成的,而是引导过程中的一个脚本。
如果您想要对另一个目录进行清理,那么清理tmp目录的好地方可能是/etc/rc.local (例如)。
https://stackoverflow.com/questions/35138050
复制相似问题