我正在构建一个 Web 应用程序,我的用户可以在其中上传文件。文件上传后,我需要将文件发送到另外两台服务器,然后从刚刚上传到的服务器上删除它们。
我想知道,将上传的文件发送到其他两台服务器时,将其保存在 tmp/ 文件夹中是否是个好主意,或者我是否应该将它们移动到另一个文件夹以防它们被删除?我也在犹豫,因为我想知道是否必须构建一个 cron 脚本来删除已传输到其他服务器的文件,以便我恢复磁盘空间。
答案1
默认情况下,每次(重新)启动时都会清理 tmp 目录。您可以通过TMPTIME
在以下文件中增加来设置以天为单位的存活时间:/etc/default/rcS
。
我不知道在运行时是否有任何自动清理临时目录的过程。但应该可以使用由 cron 调用并删除旧文件的小脚本来实现。请注意,不要删除您不知道的 tmp 目录中的文件 - 最好将您的上传保存在 tmp 中的单独目录中。
答案2
您至少应该了解该文件夹的设置。
这是一个默认/etc/rcS
文件。
$: cat /etc/default/rcS
#
# /etc/default/rcS
#
# Default settings for the scripts in /etc/rcS.d/
#
# For information about these variables see the rcS(5) manual page.
#
# This file belongs to the "initscripts" package.
# delete files in /tmp during boot older than x days.
# '0' means always, -1 or 'infinite' disables the feature
TMPTIME=0
# spawn sulogin during boot, continue normal boot if not used in 30 seconds
SULOGIN=no
# do not allow users to log in until the boot has completed
DELAYLOGIN=no
# assume that the BIOS clock is set to UTC time (recommended)
UTC=yes
# be more verbose during the boot process
VERBOSE=no
# automatically repair filesystems with inconsistencies during boot
FSCKFIX=no
因此,基本上,您可以在此处粗略地控制何时删除,如果cron job
按照您的建议进行设置,则可以进行更精细的控制。例如,也许某些类型的文件在您的 cron 作业中比此处的设置更早被删除。