Menu
Coddy logo textTech

Agregando una Marca de Tiempo

Parte de la sección Fundamentos del Journey de Terminal de Coddy — lección 78 de 82.

challenge icon

Desafío

Fácil

Hagamos que el nombre de la carpeta de respaldo sea único añadiendo una marca de tiempo. De esta manera, cada respaldo crea una carpeta nueva en lugar de sobrescribir la anterior.

Modifica backup.sh para:

  1. Mantener todo el código existente de la lección anterior
  2. Reemplazar el estático backup_dir="backup" con un nombre dinámico que incluya una marca de tiempo
  3. Usar la sustitución de comandos con el comando date para generar una marca de tiempo en el formato YYYYMMDD_HHMMSS
  4. La carpeta de respaldo debe llamarse: backup_[timestamp]

El comando date con especificadores de formato crea marcas de tiempo:

date +%Y%m%d_%H%M%S

Usa la sustitución de comandos $(command) para capturar esta salida en una variable:

timestamp=$(date +%Y%m%d_%H%M%S)
backup_dir="backup_$timestamp"

Ejecuta el script e ingresa documents cuando se te solicite. Tu salida debería verse así:

Backing up: documents
Created backup folder: backup_20240115_143052
Files copied successfully

La marca de tiempo en tu salida será diferente según la fecha y hora actuales.

Consejo: Añade timestamp=$(date +%Y%m%d_%H%M%S) antes de definir backup_dir, luego usa backup_dir="backup_$timestamp" para crear el nombre de carpeta dinámico.

Pruébalo tú mismo

Terminal
cat > backup.sh << 'EOF'
#!/bin/bash
read -p "Enter source directory: " source_dir
echo "Backing up: $source_dir"
backup_dir="backup"
mkdir -p "$backup_dir"
echo "Created backup folder: $backup_dir"
cp "$source_dir"/* "$backup_dir"
echo "Files copied successfully"
EOF
echo "documents" | bash backup.sh
ls backup

Todas las lecciones de Fundamentos