Backup delle vecchie directory con uno script bash

Sto scrivendo un piccolo script bash per archiviare le directory in un formato compresso in un'altra posizione quando sono più vecchie di una certa età e ho qualche difficoltà. Ecco cosa sto facendo.

#!/bin/bash # Archives completed CDP episodes to compressed storage. Will eventually expand to put these off-site as well. InputDir="/home/wgant/stuff/" OutputDir="/home/wgant/archived/" find $InputDir$ -maxdepth 0 -mtime +1 -type d -exec echo $OutputDir${} \; 

Sono un po 'verde a bash, quindi lo prendo lento. Per il primo passo, voglio solo scaricare un elenco di ciò che i file di output saranno chiamati. Tuttavia, quando eseguo quanto sopra, i nomi di file hanno ragione, ma il path completo è chiaramente concatenato, che non voglio. Come faccio a estrarre il nome del file?

  • Script per eseguire chown su tutte le cartelle e impostare il proprietario come nome della cartella less il trailing /
  • Come elimino tutte le directory vuote
  • Come faccio a rimuovere completamente tutti i riferimenti a couchdb da Ubuntu 11.10?
  • #! / bin / sh vs #! / bin / bash per la massima portbilità
  • chsh: l'authentication PAM non è rioutput
  • Come faccio a testare le espressioni complesse con bash?
  • Ovviamente una volta che questo funziona, metterò le chiamate per creare i tarball e cancellare la directory in questione.

    One Solution collect form web for “Backup delle vecchie directory con uno script bash”

    La syntax non è giusta, è meglio:

     find $InputDir -maxdepth 0 -mtime +1 -type d -exec echo $OutputDir{} \; 

    Per eliminare la parte prefisso dei routes, un modo semplice sarà quello di inserire nella directory prima di eseguire la find , come segue:

     InputDir="/home/wgant/stuff" OutputDir="/home/wgant/archived" (cd "$InputDir"; find . -maxdepth 0 -mtime +1 -type d -exec echo "$OutputDir"/{} \;) 

    Notare che ho avvolto l'ultimo command all'interno di un (...) . Questo è un sottogruppo, lo scopo è che il command cd sia solo effettivo all'interno di esso, il resto dello script non sarà influenzato da esso. Questo è importnte perché la modifica della directory di lavoro con cd non è consigliata nello script. Lo avvolgimento all'interno (...) rende sicuro.

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