我正在使用 Ubuntu 12.04,我想知道:有什么方法可以限制文件的生命周期?
我的意思是,例如,我创建了一个文件,在我关闭它 10 分钟后必须自动删除。有什么办法吗?
答案1
这可以inotifywait
通过使用inotify-tools
包轻松完成(默认情况下未安装):
inotifywait -e close /path/to/file && sleep 600 && rm /path/to/file
这将设置一个监视/path/to/file
并等待其关闭。然后 10 分钟(600 秒)后,文件将被删除。
这是一个可以使事情变得简单的脚本:
selfdestroy.sh
:
#!/bin/bash
if [ $# != 2 ]; then
echo "$0 <file> <time>"
exit 1
fi
if [ ! -f $1 ]; then
echo "File $1 not found."
exit 1
fi
if (( $2 < 1 )); then
echo "Time must be > 0."
fi
(inotifywait -e close $1
sleep $2
rm $1) 2>1 >/dev/null &
像这样调用脚本:selfdestroy.sh /path/to/file 600
。
答案2
您需要编写一个脚本来执行此操作。
使用命令
- 使用权(阅读文件的内容)-
atime
- 改变状态(修改文件或其属性) -
ctime
调整(更改文件的内容)-
mtime
cron
find
删除“.bak”文件的示例脚本
#!/bin/bash find <location> -mtime <value> -type f -name "*.bak" -exec rm -f {} \;
更改脚本的权限(执行)
添加脚本cron
并在需要时运行它。