在我的備份腳本中,我只想保留7天的備份(嘗試使用logrotate進行此操作,並且工作完美,但遇到了cron.daily時間問題以及它如何影響「日期」)。我遇到了使用參數擴展從文件名中提取日期的問題。在bash腳本中提取文件名的結尾
下面是一些文件的一些例子
- foo.bar.tar.gz-20120904
- bar.baz.tar.gz-20120904
- ...
這裏是我的bash腳本:
#!/bin/bash
path="/foo/"
today=$(date +%Y%m%d)
keepDays=7
keepSeconds=$(date -d "-$keepDays day" +%s)
for f in $path"*"; do
fileSeconds=$(date -d ${f##*-} +%s)
if [ $fileSeconds -lt $keepSeconds ]
then
rm $f
fi
done
這裏是ER ROR我越來越:
date: extra operand `/foo/foo.bar.tar.gz-20120904'