Menu
Coddy logo textTech

Mensaje de Éxito

Parte de la sección Fundamentos del Journey de Terminal de Coddy. Lección 79 de 82.

challenge icon

Desafío

Fácil

Completemos el script de copia de seguridad añadiendo un mensaje final de éxito que resuma lo que se respaldó.

Modifica backup.sh para:

  1. Conservar todo el código existente de la lección anterior (el backup.sh de tu espacio de trabajo es esa versión, que se muestra a continuación)
  2. Después del mensaje "Files copied successfully", añadir una línea de resumen final
  3. Imprimir: Backup complete: [source_dir] -> [backup_dir]

El script tal como estaba al final de la lección anterior:

#!/bin/bash
read -p "Enter directory to backup: " source_dir
echo "Backing up: $source_dir"
backup_dir="backup_$(date +%Y%m%d_%H%M%S)"
mkdir "$backup_dir"
echo "Created backup folder: $backup_dir"
cp "$source_dir"/* "$backup_dir"/
echo "Files copied successfully"

La forma más rápida de editarlo es reescribir todo el archivo con cat > backup.sh << 'EOF' ... EOF, añadiendo la nueva línea antes del EOF de cierre.

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

Backing up: documents
Created backup folder: backup_20240115_143052
Files copied successfully
Backup complete: documents -> backup_20240115_143052

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

¡Felicidades! Has creado un script de copia de seguridad completo que:

  • Solicita al usuario un directorio de origen
  • Crea una carpeta de copia de seguridad con marca de tiempo
  • Copia todos los archivos en la copia de seguridad
  • Proporciona información clara en cada paso

Sugerencia: Añade echo "Backup complete: $source_dir -> $backup_dir" al final de tu script para mostrar el mensaje de resumen final.

Pruébalo tú mismo

Terminal
cat > backup.sh << 'EOF'
#!/bin/bash
echo "Enter folder to backup:"
read folder
echo "Backing up: $folder"
timestamp=$(date +%Y%m%d_%H%M%S)
backup_dir="backup_$timestamp"
mkdir "$backup_dir"
echo "Created backup folder: $backup_dir"
cp "$folder"/* "$backup_dir"/
echo "Files copied successfully"
EOF
chmod +x backup.sh
echo "documents" | bash backup.sh

Todas las lecciones de Fundamentos

Practica por tu cuenta: Playground de Terminal