Zeitstempel Hinzufügen
Teil des Abschnitts Grundlagen der Terminal-Journey von Coddy — Lektion 78 von 82.
Aufgabe
EinfachLassen 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:
- Behalten Sie den gesamten vorhandenen Code aus der vorherigen Lektion bei
- Ersetzen Sie das statische
backup_dir="backup"durch einen dynamischen Namen, der einen Zeitstempel enthält - Verwenden Sie Befehlssubstitution mit dem
date-Befehl, um einen Zeitstempel im FormatYYYYMMDD_HHMMSSzu generieren - Der Backup-Ordner sollte wie folgt benannt werden:
backup_[timestamp]
Der date-Befehl mit Formatbezeichnern erstellt Zeitstempel:
date +%Y%m%d_%H%M%SVerwenden 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 successfullyDer 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 vonbackup_direin und verwenden Sie dannbackup_dir="backup_$timestamp", um den dynamischen Ordnernamen zu erstellen.
Probier es selbst
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 backupAlle Lektionen in Grundlagen
4Verzeichnisse
Ein Verzeichnis erstellenEin Verzeichnis kopierenEin Verzeichnis verschieben und umbenennenEin Verzeichnis löschenZusammenfassung - Verzeichnisoperationen7Dateiinhalt
Head und TailWortanzahlSort-BefehlUniq-BefehlGrep GrundlagenGrep mit FlagsZusammenfassung - Textdetektiv10Log-Analyzer-Projekt
ProjektübersichtAnzeigen der Logdatei2Navigation
Arbeitsverzeichnis anzeigenDateien auflistenVerzeichnis wechselnAbsolute vs. relative PfadeHome- und Root-VerzeichnisZusammenfassung - Den Weg finden8Umleitung
StandardausgabeIn eine Datei überschreibenAn eine Datei anhängenStandardeingabeStandardfehlerausgabeZusammenfassung – Log-Builder11Berechtigungen
Berechtigungen verstehenBerechtigungen lesenChmod mit ZahlenChmod mit SymbolenDateibesitzZusammenfassung - Absichern14Backup-Skript-Projekt
ProjektübersichtQuellpfad Ermitteln3Dateien
Eine Datei erstellenEine Datei lesenEine Datei kopierenEine Datei verschieben und umbenennenEine Datei löschenZusammenfassung - Dateioperationen6Wildcards und Muster
Die Sternchen-WildcardDie Fragezeichen-WildcardKlammer-WildcardsWildcards kombinierenZusammenfassung - Selektive Operationen9Pipes
Was ist eine PipeVerkettung zweier BefehleVerkettung mehrerer BefehlePipe mit GrepZusammenfassung - Daten-Pipeline