Menu
Coddy logo textTech

Zeitstempel Hinzufügen

Teil des Abschnitts Grundlagen der Terminal-Journey von Coddy. Lektion 78 von 82.

challenge icon

Aufgabe

Einfach

Lass uns den Namen des `backup`-Ordners eindeutig machen, indem wir einen `timestamp` hinzufügen. Auf diese Weise erstellt jedes Backup einen neuen Ordner, anstatt den vorherigen zu überschreiben.

Passe backup.sh an, um:

  1. Den gesamten bestehenden Code aus der vorherigen Lektion zu behalten
  2. Das statische backup_dir="backup" durch einen dynamischen Namen zu ersetzen, der einen `timestamp` enthält
  3. Befehlssubstitution mit dem date-Befehl zu verwenden, um einen `timestamp` im Format YYYYMMDD_HHMMSS zu generieren
  4. Der `backup`-Ordner sollte wie folgt benannt werden: backup_[timestamp]

Der date-Befehl mit Formatbezeichnern erstellt Timestamps:

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

Verwende die Befehlssubstitution $(command), um diese Ausgabe in einer Variablen zu erfassen:

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

Führe das Skript aus und gib documents ein, wenn du dazu aufgefordert wirst. Deine Ausgabe sollte wie folgt aussehen:

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

Der `timestamp` in deiner Ausgabe wird je nach aktuellem Datum und aktueller Uhrzeit unterschiedlich sein.

Hinweis: Füge timestamp=$(date +%Y%m%d_%H%M%S) vor der Definition von backup_dir ein und verwende dann backup_dir="backup_$timestamp", um den dynamischen Ordnernamen zu erstellen.

Probier es selbst

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

Alle Lektionen in Grundlagen

Übe selbstständig: Terminal-Playground