Menu
Coddy logo textTech

Zeitstempel Hinzufügen

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

challenge icon

Aufgabe

Einfach

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

Ändern Sie backup.sh wie folgt:

  1. Behalten Sie den gesamten vorhandenen Code aus der vorherigen Lektion bei
  2. Ersetzen Sie das statische backup_dir="backup" durch einen dynamischen Namen, der einen Zeitstempel enthält
  3. Verwenden Sie Befehlssubstitution mit dem date-Befehl, um einen Zeitstempel im Format YYYYMMDD_HHMMSS zu generieren
  4. Der Backup-Ordner sollte wie folgt benannt werden: backup_[timestamp]

Der date-Befehl mit Formatbezeichnern erstellt Zeitstempel:

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

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

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

Führen Sie das Skript aus und geben Sie documents ein, wenn Sie dazu aufgefordert werden. Ihre Ausgabe sollte wie folgt aussehen:

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

Der Zeitstempel in Ihrer Ausgabe wird je nach aktuellem Datum und Uhrzeit unterschiedlich sein.

Hinweis: Fügen Sie timestamp=$(date +%Y%m%d_%H%M%S) vor der Definition von backup_dir ein und verwenden Sie 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