Coletar Arquivos de um Período Específico

LinuxBeginner
Pratique Agora

Introdução

Neste projeto, você aprenderá como copiar arquivos do diretório /etc com o ano de última modificação em 2022 para o diretório /tmp/etc, preservando a estrutura de diretórios.

🎯 Tarefas

Neste projeto, você aprenderá:

  • Como criar um script para automatizar o processo de cópia de arquivos
  • Como usar o comando find para pesquisar arquivos com base na sua data de última modificação
  • Como usar o comando cp para copiar arquivos, preservando a estrutura de diretórios

🏆 Conquistas

Após concluir este projeto, você será capaz de:

  • Automatizar o processo de cópia de arquivos de um diretório específico com base na sua data de última modificação
  • Entender como usar comandos de shell comuns como find e cp para manipular arquivos e diretórios
  • Aplicar seu conhecimento para resolver tarefas de gerenciamento de arquivos do mundo real

Criar o Script de Coleta de Arquivos

Nesta etapa, você criará um script para copiar arquivos do diretório /etc com o ano de última modificação em 2022 para o diretório /tmp/etc, preservando a estrutura de diretórios.

  1. Abra um editor de texto e crie um novo arquivo chamado collect_files.sh no diretório /home/labex/project.
  2. Adicione o seguinte código ao arquivo collect_files.sh:
#!/bin/zsh

## Script: collect_files.sh
## Description: Copies files from the /etc directory with a last modified year in 2022 to the /tmp/etc directory while preserving directory structure.

source_dir="/etc"
target_dir="/tmp"
year="2022"

## Create the target directory
mkdir -p "$target_dir"

## Use the find command to search for files in the source directory with a last modified year in 2022 and copy them to the target directory
find "$source_dir" -type f -newermt "$year-01-01" ! -newermt "$year-12-31" -exec cp --parents --dereference "{}" "$target_dir" \;

echo "File copying completed."

Este script usa o comando find para pesquisar arquivos no diretório /etc que foram modificados pela última vez no ano de 2022. As opções -newermt e ! -newermt são usadas para filtrar os arquivos com base na sua data de última modificação. O comando cp é então usado para copiar os arquivos para o diretório /tmp/etc, preservando a estrutura de diretórios.

  1. Salve o arquivo.

Testar o Script

Nesta etapa, você testará o script collect_files.sh para garantir que ele esteja funcionando conforme o esperado.

  1. Abra um terminal e navegue até o diretório /home/labex/project.
  2. Execute o script com o seguinte comando:
sudo sh collect_files.sh

Este comando executa o script com privilégios elevados, o que é necessário para copiar arquivos do diretório /etc.

  1. Após a conclusão da execução do script, verifique o diretório /tmp/etc para garantir que os arquivos com o ano de última modificação de 2022 foram copiados corretamente.
  2. Verifique se a estrutura de diretórios foi preservada. Por exemplo, se o arquivo /etc/fstab foi copiado, você deverá ver o arquivo no caminho /tmp/etc/fstab.

Se o script estiver funcionando conforme o esperado, você concluiu o projeto. Se encontrar algum problema, revise o script e as instruções e faça os ajustes necessários.

Resumo

Parabéns! Você concluiu este projeto. Você pode praticar mais laboratórios no LabEx para aprimorar suas habilidades.

✨ Verificar Solução e Praticar✨ Verificar Solução e Praticar