我的服务器上有以下bash脚本:
today=$(date +"%Y-%m-%d")
find /backups/www -type f -mtime -1|xargs tar uf /daily/backup-$today.tar
Run Code Online (Sandbox Code Playgroud)
正如您所看到的,它创建了在过去24小时内修改/创建的文件的备份.但是,如果找不到文件,则会创建损坏的tar文件.我想将它包装在if..fi语句中,因此id不会创建空/损坏的tar文件.
有人可以帮我修改这个脚本吗?
谢谢
您可以检查结果是否正常,然后检查结果是否为空:
today=$(date +"%Y-%m-%d")
results=`find /backups/www -type f -mtime -1`
if [[ 0 == $? ]] ; then
if [[ -z $results ]] ; then
echo "No files found"
else
tar uf /daily/backup-$today.tar $results
fi
else
echo "Search failed"
fi
Run Code Online (Sandbox Code Playgroud)