Trova i file e tar.gz l'elenco risultante

L'esecuzione del seguente command funziona come previsto:

find /path/to/logs/ \( -type f -name '*20161005.log' \) -print0 | tar -czvf /path/to/backups/backup_logs_20161005.tar.gz --null -T - 

Ma, cercando di utilizzare questo all'interno di uno script bash, ottengo un file vuoto .tar.gz :

  • OpenVPN client su Amazon EC2
  • nginx non è in grado di bind alla port 80. Niente di esecuzione sulla port 80
  • Come fare un per loop di nomi di file con spazi che utilizzano la ricerca
  • Come controllare quale apache di port è in esecuzione
  • SED sostituisce su più righe
  • Integrazione di postfix con LDAP agli utenti eMail con accesso a un host specifico
  •  #!/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" 

    Produzione:

    Data e ora corrente: Thu Oct 6 16:14:29 WEST 2016
    A partire da ieri, registri il backup, attendi prego …
    fatto!
    Rimozione dei registri da ieri …
    fatto!

    Quello che mi manca quando posiziono questo command all'interno di uno script bash?

    One Solution collect form web for “Trova i file e tar.gz l'elenco risultante”

    Sostituire

     -name '*"$DATETIME".log' 

    con

     -name "*$DATETIME.log" 

    Le citazioni singole sono molto forti, le virgolette doppie consentono di $ VARIABLE all'interno.

    Suggerimenti per Linux e Windows Server, quali Ubuntu, Centos, Apache, Nginx, Debian e argomenti di rete.