Menu
Coddy logo textTech

Zaman Damgası Ekleme

Coddy'nin Terminal Journey'sinin Temeller bölümünün bir parçası. Ders 78 / 82.

challenge icon

Görev

Kolay

Zaman damgası ekleyerek yedekleme klasörü adını benzersiz hale getirelim. Bu sayede her yedekleme, önceki klasörün üzerine yazmak yerine yeni bir klasör oluşturur.

backup.sh dosyasını şu şekilde değiştirin:

  1. Önceki dersteki tüm mevcut kodları koruyun
  2. Statik backup_dir="backup" satırını zaman damgası içeren dinamik bir adla değiştirin
  3. YYYYMMDD_HHMMSS biçiminde bir zaman damgası oluşturmak için date komutuyla komut ikamesini (command substitution) kullanın
  4. Yedekleme klasörünün adı şöyle olmalıdır: backup_[timestamp]

Biçim belirleyicileri ile date komutu zaman damgaları oluşturur:

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

Bu çıktıyı bir değişkende saklamak için $(command) komut ikamesini kullanın:

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

Betiği çalıştırın ve istendiğinde documents girin. Çıktınız şuna benzer görünmelidir:

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

Çıktınızdaki zaman damgası mevcut tarih ve saate bağlı olarak farklı olacaktır.

İpucu: backup_dir değişkenini tanımlamadan önce timestamp=$(date +%Y%m%d_%H%M%S) ekleyin, ardından dinamik klasör adını oluşturmak için backup_dir="backup_$timestamp" kullanın.

Kendin dene

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

Temeller bölümündeki tüm dersler

Kendi başına pratik yap: Terminal playground