Criando Pasta de Backup
Parte da seção Fundamentos do Journey de Terminal da Coddy — lição 76 de 82.
Desafio
FácilAgora vamos estender o script de backup para criar uma pasta de backup onde os arquivos serão armazenados.
Reescreva o backup.sh do zero para que ele contenha o script completo e atualizado. Use > para a primeira linha para substituir o arquivo e, em seguida, >> para anexar cada linha seguinte:
echo '#!/bin/bash' > backup.sh
echo 'read -p "Enter source directory: " source_dir' >> backup.sh
echo 'echo "Backing up: $source_dir"' >> backup.sh
echo 'backup_dir="backup"' >> backup.sh
echo 'mkdir -p "$backup_dir"' >> backup.sh
echo 'echo "Created backup folder: $backup_dir"' >> backup.shCada linha está envolvida por aspas simples para que o shell escreva $source_dir e $backup_dir no arquivo literalmente, em vez de substituí-los por seus valores.
Em seguida, torne-o executável:
chmod +x backup.shPor fim, execute seu script com documents como a entrada. Este terminal não é interativo, então passe a resposta via pipe para o script em vez de esperar que ela seja solicitada:
echo "documents" | ./backup.shSua saída deve ser:
Backing up: documents
Created backup folder: backupVerifique se a pasta foi criada executando ls para listar o conteúdo do diretório. A saída deve mostrar a nova pasta backup ao lado dos seus outros arquivos.
Dica: A flag
-pemmkdir -pevita erros se o diretório já existir. Certifique-se de usar aspas ao redor das suas variáveis (por exemplo,"$backup_dir") para manipulá-las com segurança.
Experimente você mesmo
echo '#!/bin/bash' > backup.sh
echo 'read -p "Enter source directory: " source_dir' >> backup.sh
echo 'echo "Backing up: $source_dir"' >> backup.sh
chmod +x backup.sh
echo "documents" | ./backup.shTodas as lições de Fundamentos
4Diretórios
Criar um DiretórioCopiar um DiretórioMover e Renomear um DiretórioExcluir um DiretórioResumo - Operações com Diretórios7Conteúdo do Arquivo
Head e TailContagem de PalavrasComando SortComando UniqGrep BásicoGrep com FlagsResumo - Detetive de Texto10Projeto Analisador de Log
Visão Geral do ProjetoVisualizando o Arquivo de Log2Navegação
Imprimir Diretório de TrabalhoListar ArquivosMudar DiretórioCaminhos Absolutos vs RelativosDiretório Home e RaizResumo - Encontre Seu Caminho8Redirecionamento
Saída PadrãoSobrescrever em um ArquivoAnexar a um ArquivoEntrada PadrãoErro PadrãoRecapitulação - Construtor de Log11Permissões
Entendendo PermissõesLendo PermissõesChmod com NúmerosChmod com SímbolosPropriedade de ArquivosResumo - Trave Tudo14Projeto de Script de Backup
Visão Geral do ProjetoObtendo o Caminho de Origem3Arquivos
Criar um ArquivoLer um ArquivoCopiar um ArquivoMover e Renomear um ArquivoExcluir um ArquivoResumo - Operações com Arquivos6Curingas e Padrões
O Curinga AsteriscoO Curinga InterrogaçãoCuringas de ColchetesCombinando CuringasResumo - Operações Seletivas9Pipes
O Que é um PipeEncadeando Dois ComandosEncadeando Múltiplos ComandosPipe com GrepResumo - Pipeline de Dados