Backup da pasta de usuário sem copiar os arquivos ocultos
Dica publicada em Shell Script / Introdução
Backup da pasta de usuário sem copiar os arquivos ocultos
Para quem quer fazer backup da pasta Home do usuário no seu sistema GNU/Linux pela linha de comando, o código abaixo é uma das formas de copiar todos os arquivos não ocultos (que não comecem com " . " (ponto)) do diretório Home do usuário para outro qualquer:
Basta copiá-lo para um arquivo texto, por exemplo copia.sh, tornar o arquivo executável:
chmod +x copia.sh
E executá-lo dentro da pasta que você quer que os arquivos sejam copiados:
./copia.sh
O script irá pedir que o usuário informe o diretório de destino. Basta informá-lo, teclar Enter e esperar a cópia terminar.
Caso deseje copiar também os arquivos ocultos, basta acrescentar a opção -a na linha 2 do script depois do comando ls.
Para quem faz backups constantes do diretório Home ou de qualquer outro diretório, pode-se utilizar a opção u no comando cp da linha 6 do script, para que sejam copiados apenas os arquivos novos ou que foram atualizados depois do último backup.
#!/bin/bash
ls > listagem.txt
read -p "Informe o diretório de destino: " destino
while read linha
do
cp -vr "$linha" $destino
done < listagem.txt
ls > listagem.txt
read -p "Informe o diretório de destino: " destino
while read linha
do
cp -vr "$linha" $destino
done < listagem.txt
Basta copiá-lo para um arquivo texto, por exemplo copia.sh, tornar o arquivo executável:
chmod +x copia.sh
E executá-lo dentro da pasta que você quer que os arquivos sejam copiados:
./copia.sh
O script irá pedir que o usuário informe o diretório de destino. Basta informá-lo, teclar Enter e esperar a cópia terminar.
Caso deseje copiar também os arquivos ocultos, basta acrescentar a opção -a na linha 2 do script depois do comando ls.
Para quem faz backups constantes do diretório Home ou de qualquer outro diretório, pode-se utilizar a opção u no comando cp da linha 6 do script, para que sejam copiados apenas os arquivos novos ou que foram atualizados depois do último backup.