在tar命令之后,Bash Script rm命令没有运行

时间:2014-09-18 18:25:12

标签: bash backup tar linuxmint rm

感谢您花时间阅读我的帖子。

我写了一个小的bash脚本来备份我的主分区。它备份正确,但在归档了我希望它删除旧档案的所有内容之后,它没有。

这是我的代码:

#!/bin/bash

# config
src="/home"
trgt="/media/atlas/Backup/home.daily"
owd=$PWD
# abort if any of the commands fail
set -e

cd $trgt

todays=$(date +'%Y-%m-%d') # nicely sortable names for backups
last=$(ls -r | head -1)
to_delete=$(ls -r | tail -n +3) # will keep the last backup

tar -cvpzf ${todays}.tar.gz --exclude-from="/var/scripts/exclude.txt" --one-file-system /home > /var/log/backup/home.daily.${todays} 2>&1

# now we're safe to remove the old one(s)
rm -f $to_delete

有趣的是,如果我注释掉tar命令,那么rm -f $ to_delete的工作方式就应该如此。

有人可以对此有所了解吗?看起来tar阻止了任何其他命令,但它让我困惑,因为我认为这些将按顺序执行。

对于后台,/ media / atlas / mount安装在Samba上。

0 个答案:

没有答案