Agregando una Marca de Tiempo
Parte de la sección Fundamentos del Journey de Terminal de Coddy — lección 78 de 82.
Desafío
FácilHagamos 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:
- Mantener todo el código existente de la lección anterior
- Reemplazar el estático
backup_dir="backup"con un nombre dinámico que incluya una marca de tiempo - Usar la sustitución de comandos con el comando
datepara generar una marca de tiempo en el formatoYYYYMMDD_HHMMSS - 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%SUsa 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 successfullyLa 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 definirbackup_dir, luego usabackup_dir="backup_$timestamp"para crear el nombre de carpeta dinámico.
Pruébalo tú mismo
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 backupTodas las lecciones de Fundamentos
4Directorios
Crear Un DirectorioCopiar Un DirectorioMover Y Renombrar Un DirectorioEliminar Un DirectorioResumen - Operaciones Con Directorios7Contenido de Archivos
Head y TailConteo de PalabrasComando SortComando UniqGrep BásicoGrep con FlagsResumen - Detective de Texto10Proyecto Analizador de Registros
Resumen del ProyectoVisualizando el Archivo de Registro2Navegación
Imprimir Directorio de TrabajoListar ArchivosCambiar de DirectorioRutas Absolutas vs RelativasDirectorio Home y RaízRepaso - Encuentra tu Camino8Redirección
Salida EstándarSobrescribir en un ArchivoAnexar a un ArchivoEntrada EstándarError EstándarResumen - Constructor de Registro11Permisos
Entendiendo PermisosLeyendo PermisosChmod con NúmerosChmod con SímbolosPropiedad de ArchivosResumen - Bloquéalo14Proyecto de Script de Copia de Seguridad
Visión General del ProyectoObteniendo la Ruta de Origen3Archivos
Crear un ArchivoLeer un ArchivoCopiar un ArchivoMover y Renombrar un ArchivoEliminar un ArchivoResumen - Operaciones con Archivos6Comodines y Patrones
El comodín asteriscoEl comodín interroganteComodines de corchetesCombinando comodinesRepaso - Operaciones selectivas9Tuberías
Qué es una tuberíaEncadenando dos comandosEncadenando múltiples comandosTubería con GrepResumen - Tubería de datos