Linux’ta Rsync Tabanlı Akıllı Proje Yedekleme Sistemi (vcp Scripti)
node_modules
.git
.idea (JetBrains IDE metadata)
dist, build
__pycache__
log dosyaları
Linux ortamında proje yedekleme çoğu zaman basit cp -r komutu ile yapılır. Ancak bu yöntem hem gereksiz dosyaları kopyalar hem de büyük projelerde ciddi performans kaybına yol açar. Özellikle .git, node_modules, .idea, dist, build, __pycache__ gibi klasörler hem büyük yer kaplar hem de yedek içinde anlamlı bir değer üretmez.
Bu problemi çözmek için rsync tabanlı bir “akıllı kopyalama” scripti kullanılabilir. rsync, sadece değişen dosyaları kopyaladığı için hızlıdır ve aynı zamanda belirli klasörleri hariç tutma imkanı sağlar.
Amaç, bulunduğun dizindeki projeyi otomatik olarak algılayıp sabit bir yedek klasörüne, proje adıyla birlikte kopyalamaktır. Böylece her proje ayrı bir klasörde düzenli şekilde saklanır.
cat > ~/.local/bin/vcp << ’EOF’
#!/usr/bin/env bash
DST="/media/muslu/Projeler/Makdos/2026"
SRC="$PWD"
BASENAME="$(basename "$SRC")"
TARGET="$DST/$BASENAME"
mkdir -p "$TARGET"
rsync -av \
--exclude=’.git/’ \
--exclude=’node_modules/’ \
--exclude=’.venv/’ \
--exclude=’__pycache__/’ \
--exclude=’.idea/’ \
--exclude=’dist/’ \
--exclude=’build/’ \
--exclude=’logs/’ \
--exclude=’graphify-out/’ \
--exclude=’OLDS/’ \
--exclude=’OLDs/’ \
--exclude=’YDK/’ \
--exclude=’MUSLU/’ \
"$SRC/" \
"$TARGET/"
EOF
chmod +x ~/.local/bin/vcp
cd /home/muslu/GolandProjects/
vcp
Linux
hakkında diğer konular