我不确定这是否会在当天获得过去的日期,或者是否只需要 30 或 31 天。
例如
如果当前日期是March 28th
,则必须是 1 个月前February 28th
,但是当它是 时会发生什么March 30th
?
设想
我想每天备份一些文件,脚本将在当前日期内保存这些文件,$(date +%Y%m%d)
格式20150603_bckp.tar.gz
为我的条件:
past_month = $(date -d "-1 month" +%Y%m%d)
day = $(date +%d)
if [ "$day" != 01 ] && [ "$day" != 15 ]
then
rm /path/of/files/${past_month}_bckp.tar.gz
echo "Depuration done"
else
echo "Keep file"
fi
Run Code Online (Sandbox Code Playgroud)
但是我想知道,当日期是 30 日、31 日甚至过去的二月示例时会发生什么?它会保留那些文件吗?或删除第一天的文件?
当它是 31 日时,净化将执行,所以如果过去一个月只有 30 天,这将删除第 1 天的文件?
我希望我有所暗示。