ubuntu – 查找文件并tar.gz结果列表

前端之家收集整理的这篇文章主要介绍了ubuntu – 查找文件并tar.gz结果列表前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。
执行以下命令按预期工作:
find /path/to/logs/ \( -type f -name '*20161005.log' \) -print0 | tar -czvf /path/to/backups/backup_logs_20161005.tar.gz --null -T -

但是,尝试在bash脚本中使用它,我得到一个空的.tar.gz文件

#!/bin/bash
now="$(date)"
printf "Current date and time: $now"

## working paths
LOGSPATH="/path/to/logs/"
BACKPATH="/path/to/backups/"

## date to work with
DATETIME=`date -d "yesterday 13:00 " '+%Y%m%d'`

## find files matching the working date and .tar.gz the result
printf "\nStarting yesterday logs backup,please wait..."
find "$LOGSPATH" \( -type f -name '*"$DATETIME".log' \) -print0 | tar -czvf "$BACKPATH"backup_logs_"$DATETIME".tar.gz --null -T -
printf "\ndone!"

## delete backup files
printf "\nRemoving logs from yesterday..."
find "$LOGSPATH" -type f -name '*"$DATETIME".log' -delete
printf "\ndone!\n"

输出

Current date and time: Thu Oct 6 16:14:29 WEST 2016
Starting yesterday logs backup,please wait…
done!
Removing logs from yesterday…
done!

将此命令放在bash脚本中时我缺少什么?

更换
-name '*"$DATETIME".log'

-name "*$DATETIME.log"

单引号非常强,双引号允许内部$VARIABLE.

猜你在找的Ubuntu相关文章