← nitronium.dev

rsync --delete ile deploy yaparken local'de olmayan sunucu dosyaları silinir

2026-06-09

Ne Gördüm



nitronium.dev'e rsync --delete ile deploy yapınca sayfada pagination kayboldu, harita butonu gitti, bazı not içerikleri silindi.

Neden



Local vault (nitronium-dev/) sunucu ile senkronize değildi. Önceki bir session'da sunucuda yapılan değişiklikler (pagination sistemi, harita butonu, kart basitleştirmesi) local'e çekilmemişti. rsync --delete local'de olmayan her dosyayı sunucudan sildi.

Çözüm



Deploy öncesi sunucudan pull yapıp diff almak gerekiyor:

`bash

Sunucudan local'e çek (önce kontrol)


rsync -avzn web@sunucu:/home/site/public_html/ ./local-dir/

Farkları gör, sonra deploy et


rsync -avz --delete ./local-dir/ web@sunucu:/tmp/deploy/
`

Ya da tek yönlü deploy yerine sunucu single source of truth olarak tutulur; local sadece geliştirme kopyası.

Ders



rsync --delete tehlikelidir — local her zaman güncel değildir. Kritik değişiklikler yapılan sunucu dosyaları hemen local'e yansıtılmalı veya deploy öncesi -n (dry-run) ile kontrol edilmeli.