-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathmcbackup.sh
More file actions
executable file
·41 lines (34 loc) · 1.61 KB
/
Copy pathmcbackup.sh
File metadata and controls
executable file
·41 lines (34 loc) · 1.61 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
#!/bin/sh
# --- Settings Section ---
# this is where we write our SOURCE directory
SOURCE_DIR="/volume1/home/guven/docker/minecraft-data"
# this is where we write our BACKUP directory
BACKUP_DIR="/volume1/home/guven/docker/minecraft-backup-data"
DAYS_TO_KEEP=7
# ---------------------
echo "Yedekleme işlemi başlatılıyor..."
mkdir -p "$BACKUP_DIR"
# Günün tarihini YIL-AY-GÜN formatında alıyoruz
# Örnek Çıktı: 2025-11-17
TODAY=$(date +"%Y-%m-%d")
# Yedek dosyasının tam adını ve yolunu oluşturuyoruz
# Örnek Çıktı: /yedekler/minecraft/world-2025-11-17.tar.gz
FILENAME="$BACKUP_DIR/world-$TODAY.tar.gz"
# Yedekleme işlemini başlatıyoruz
# tar komutu: Arşiv oluşturur
# -c : (create) Yeni bir arşiv oluştur
# -z : (gzip) Arşivi .gz formatında sıkıştır (daha az yer kaplasın)
# -f : (file) Oluşturulacak dosyanın adını belirtir (bizim $FILENAME değişkenimiz)
# Son olarak, hangi klasörün yedekleneceğini belirtiriz ($SOURCE_DIR)
echo "$SOURCE_DIR yedekleniyor -> $FILENAME"
tar -czf "$FILENAME" "$SOURCE_DIR"
echo "Yedekleme tamamlandı."
echo "$DAYS_TO_KEEP günden eski yedekler siliniyor..."
# find komutu: Belirli kriterlere göre dosya arar
# $BACKUP_DIR : Nerede arayacağını söylüyoruz
# -type f : Sadece dosyaları ara (klasörleri değil)
# -name "*.tar.gz" : Sadece ismi ".tar.gz" ile biten dosyaları dikkate al
# -mtime +$DAYS_TO_KEEP : Değiştirilme tarihi (mtime) +7 günden (yani 8, 9, 10...) eski olan dosyaları bul
# -delete : Bulduğun o dosyaları sil
find "$BACKUP_DIR" -type f -name "*.tar.gz" -mtime +$DAYS_TO_KEEP -delete
echo "Temizlik tamamlandı. İşlem bitti."