Colocar arquivos mostrados por um comando em um pacote .tar no Linux
Dica publicada em Linux / Comandos
Colocar arquivos mostrados por um comando em um pacote .tar no Linux
Vamos imaginar a seguinte situação: você quer fazer um backup de determinados arquivos. Então você cria um comando que é capaz de exibir na tela esses arquivos, como o exemplo abaixo:
# find /etc -mtime -1
/etc
/etc/cups
/etc/cups/ppd/RICOH_TI.ppd
/etc/cups/subscriptions.conf
/etc/cups/printers.conf.O
/etc/cups/printers.conf
/etc/cups/subscriptions.conf.O
/etc/resolv.conf.predhclient.eth0
/etc/resolv.conf
/etc/alsa/asound.state
/etc/sysconfig/networking/profiles/default/ifcfg-br0
/etc/sysconfig/networking/devices/ifcfg-br0
/etc/sysconfig/network-scripts
/etc/sysconfig/network-scripts/ifcfg-br0
/etc/blkid
/etc/blkid/blkid.tab
/etc/printcap
/etc/adjtime
/etc/mtab
Agora, como gravar esses arquivos em um pacote .tar usando apenas um comando? Essa é a solução apresentada nessa dica. Lá vai:
# find /etc -mtime -1 | tar --files-from - -czf backup.tar.gz
O segredo é a opção "--files-from". Essa opção serve para indicar um arquivo de texto que contém a lista dos arquivos e diretórios que devem ser adicionados no pacote .tar. Nesse caso o nosso arquivo é entrada padrão, cujo símbolo é o hífen "-". Portanto a opção fica "--files-from -". Dessa forma todos os arquivos que forem exibidos pelo comando que estiver antes da barra vertical "|" serão adicionados ao pacote .tar.
Espero que seja útil.
Um grande abraço,
Davidson Paulo
--
"Eis que cedo venho! Bem-aventurado aquele que guarda as palavras da profecia deste livro. Eis que cedo venho e está comigo a minha recompensa, para retribuir a cada um segundo a sua obra. Aquele que testifica estas coisas diz: Certamente cedo venho. Amém; vem, Senhor Jesus." Apocalipse 22:7,12,20
# find /etc -mtime -1
/etc
/etc/cups
/etc/cups/ppd/RICOH_TI.ppd
/etc/cups/subscriptions.conf
/etc/cups/printers.conf.O
/etc/cups/printers.conf
/etc/cups/subscriptions.conf.O
/etc/resolv.conf.predhclient.eth0
/etc/resolv.conf
/etc/alsa/asound.state
/etc/sysconfig/networking/profiles/default/ifcfg-br0
/etc/sysconfig/networking/devices/ifcfg-br0
/etc/sysconfig/network-scripts
/etc/sysconfig/network-scripts/ifcfg-br0
/etc/blkid
/etc/blkid/blkid.tab
/etc/printcap
/etc/adjtime
/etc/mtab
Agora, como gravar esses arquivos em um pacote .tar usando apenas um comando? Essa é a solução apresentada nessa dica. Lá vai:
# find /etc -mtime -1 | tar --files-from - -czf backup.tar.gz
O segredo é a opção "--files-from". Essa opção serve para indicar um arquivo de texto que contém a lista dos arquivos e diretórios que devem ser adicionados no pacote .tar. Nesse caso o nosso arquivo é entrada padrão, cujo símbolo é o hífen "-". Portanto a opção fica "--files-from -". Dessa forma todos os arquivos que forem exibidos pelo comando que estiver antes da barra vertical "|" serão adicionados ao pacote .tar.
Espero que seja útil.
Um grande abraço,
Davidson Paulo
--
"Eis que cedo venho! Bem-aventurado aquele que guarda as palavras da profecia deste livro. Eis que cedo venho e está comigo a minha recompensa, para retribuir a cada um segundo a sua obra. Aquele que testifica estas coisas diz: Certamente cedo venho. Amém; vem, Senhor Jesus." Apocalipse 22:7,12,20