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

Yedekleme klasörü adını bir zaman damgası ekleyerek benzersiz hale getirelim. Bu sayede, her yedekleme işlemi bir öncekinin ü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 olan backup_dir="backup" satırını, zaman damgası içeren dinamik bir adla değiştirin
  3. YYYYMMDD_HHMMSS formatında bir zaman damgası oluşturmak için date komutuyla komut ikamesini (command substitution) kullanın
  4. Yedekleme klasörünün adı şu şekilde olmalıdır: backup_[timestamp]

Format belirleyicileri ile date komutu zaman damgaları oluşturur:

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

Bu çıktıyı bir değişkende yakalamak 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 sorulduğunda documents değerini girin. Çıktınız şuna benzemelidir:

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

Çıktınızdaki zaman damgası, geçerli 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) satırını 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