【发布时间】:2018-05-10 18:47:01
【问题描述】:
我正在尝试编写一个脚本,该脚本可以在目录超过某个限制时从目录中删除旧文件。 这是我的脚本
#!/bin/bash
#incremental backup of upload folder only
LIMIT=2
TIME=`date +%b-%d-%y%s`
FILENAME=backup-$TIME.tgz
SRCDIR=/home/Man/blabla
DESDIR=/home/Man/newdir
EXCFILE=/home/Man/blabla/up
if [ $LIMIT -gt 2 ]; then
cd $DESDIR
ls -lt | grep .tgz | tail -n 1 | xargs -r rm
tar -cvzf $DESDIR/$FILENAME $SRCDIR --exclude=$EXCFILE
else
tar -cvzf $DESDIR/$FILENAME $SRCDIR --exclude=$EXCFILE
fi
但它不工作它创建备份但在目录超过限制后不删除旧文件
【问题讨论】:
-
限制什么?
-
对目标文件夹添加限制。由于目标文件夹包含备份 tar,我希望目标文件夹只包含 2 个文件,只要添加新文件就删除旧文件。
-
这是 logrotate 的工作。
-
请编辑你的问题来改进它(目前还不清楚)。说明你关心什么limit。解释您要删除的大文件是什么以及在哪里。激发您的问题(例如,您为什么不使用备份程序或
logrotate?)