Menu
Coddy logo textTech

Ajouter un Horodatage

Fait partie de la section Les fondamentaux du Journey Terminal de Coddy — leçon 78 sur 82.

challenge icon

Défi

Facile

Rendons le nom du dossier de sauvegarde unique en ajoutant un horodatage. De cette façon, chaque sauvegarde crée un nouveau dossier au lieu d'écraser le précédent.

Modifiez backup.sh pour :

  1. Conserver tout le code existant de la leçon précédente
  2. Remplacer le statique backup_dir="backup" par un nom dynamique qui inclut un horodatage
  3. Utiliser la substitution de commande avec la commande date pour générer un horodatage au format YYYYMMDD_HHMMSS
  4. Le dossier de sauvegarde doit être nommé : backup_[timestamp]

La commande date avec des spécificateurs de format crée des horodatages :

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

Utilisez la substitution de commande $(command) pour capturer cette sortie dans une variable :

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

Exécutez le script et entrez documents lorsque vous y êtes invité. Votre sortie devrait ressembler à :

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

L'horodatage dans votre sortie sera différent en fonction de la date et de l'heure actuelles.

Astuce : Ajoutez timestamp=$(date +%Y%m%d_%H%M%S) avant de définir backup_dir, puis utilisez backup_dir="backup_$timestamp" pour créer le nom de dossier dynamique.

Essayez vous-même

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

Toutes les leçons de Les fondamentaux