Çevrımdışı yedekleme nasıl yapılır

Merhaba. Usb flash belleğime dosyalarımı tek klasör olarak yedeklemek istiyorum. Ancak dosyalarım içinde bir dosyanın içeriğini değiştirdiğimde ve tekrar usb sürücüme atmak istediğimde windows aynı dosyaları tut ya da dosyaları değiştir seçeniğini karşıma çıkarıyor. Eğer aynı dosyaları tut dersem içeriğini değiştirdiğim dosyayı değişimiş diye tanımıyor ve üzerinde değişiklik yapmıyor eğer dosyaları değiştir dersem ise en baştan kopyalama işlemini yapıyor.

Sorum githubda olduğu gibi yedekleme yaparken içeriğinde değişiklik yapıldığını anlayıp sadece bu dosyaları yedekleme yaparken kopyalayan ve değişmeyen dosyaları olduğu gibi tutan herhangi bir yöntem, program var mıdır?

Dosya kopyalama/yedekleme/senkronize etme islemleriyle ilgili her sorunun cevabi olan rsync var ama omur boyu yaninda olacak bir alete yatirim yapmak istemiyorsan piyasadaki binlerce backup programinin cogu bu basit kontrolu yapabiliyordur.

Konuyu açmadan önce bir kaçını denedim ama olumlu sonuç alamadım.

rsync ile yedekleme işlemi yaptım ancak -a etiketi kullanmama rağmen sürekli en baştan kopyalıyor. -av etiketini kullanıp işlemlere baktığımda da yedeklemek istediğim klasörün boyutunda gönderme işleminin yapıldığını söylüyor yani değişen dosyaları ve yeni dosyaları ekliyor ancak değişmeyen dosyaları da tekrar ekliyor. ( Tekrar eklemekten kastım aynı dosyayı eklerken yeni dosya oluşturmuyor. Dosya değişmemesine rağmen ekliyor ve değişmemiş dosyanın yerine yenisini bırakıyor, fazladan aynı dosya oluşturmuyor, hafızayı boşa doldurmuyor.) Yedekleme yaparken sadece değişiklik olan dosyalar ve yeni dosyalar üzerinde işlem gerçekleştiren etiket hangisi biliyor musun?

Bunu nasil anladigini sorabilir miyim?

Sadece -a (veya -av) mi kullaniyorsun? Komutu gorebilir miyim?

Normally rsync will skip any files that are already the same size and have the same modification timestamp.

Dosya sistemleri ne? Kullandigin rsync versiyonu icin “NTFS’ten FAT’e koyarken FAT timestamp’leri sadece cift sayi olabildigi icin tek timestamp’li dosyalari her zaman kopyaliyoruz” gibi bir uyari var mi?

1 Beğeni


İlk arşivleme işlemi sonucu.

İkinci kez yaptığımda dosya dizininde aynı isimli dosya beliriyor ve önceki hala klasördeyken değişmemiş aynı dosya yüklenmeye devam ediyor. Sayfa her yenilenince boyutu artıyor.

Sonuç olarak aktarım süresi hala aynı sürede tamamlanıyor, gönderim boyutu aynı boyutta olduğu söyleniyor ve değişmemiş dosyalardan tek bir tane kalıyor.

İkisini de kullandım ki -v sadece çıktıları görmek için değil mi?

Maalesef atlamadı.

Kullandığım usb bellek exFAT formatında.

3.2.4 rsync sürümünü kullanıyorum ve böyle bir uyarıyla karşılaşmadım.

cygwin üzerinden rsync kurulumunu windowsta yaptım bu arada.

Usb sürücümü NTFS yapınca olay düzeldi ama sürücümün hızı da düştü.

Sanırım beta sürümünü kullandığım için böyle bir uyari daha güncellenmemiş.
Teşekkürler.

Hocam peki yedeklenecek olan klasörden bir dosyayı sildiğimde ve tekrar yedekleme yaptığımda silinen dosyayı, yedeklenecek alanda varsa oradan da silen bir komut var mı? Bi nevi git'in çevrımdışı versiyonu?

Ah, tamam. Bunun boyle oldugunu da unutmustum, iyi oldu gostermen.

Evet, evet. Bazen --progress veya --info=progress2 de guzel olabiliyor.

Normalde dosya sistemleri arasindaki hiz farki biz olumlulerin fark edebilecegi kadar buyuk degil. Filesystem cache veya disk cache degismis, dolmus, bosalmis, vs olabilir mi? En azindan eject (“guvenli kaldir”) zamanina kadar olcmek lazim, zaten oyle yapmiyorsan.

Olma mi?

        --delete                delete extraneous files from dest dirs

git zaten cevrimdisi.

2 Beğeni

Haklısın zaten çok büyük dosyalarda bile sadece saniye farkı yarattı.

Sağolun.

Sonda depolama sersivine dosyaları gönderince (git push yaptığımız kısım) çevrimiçi duruma geçiyoruz ya o kısımda da offline bir şekilde yerel depolama alanına dosyaları gönderebilmeyi kastetmiştim. Usb sürücüme git kullanarak yedekleme yapmak isterdim.
Tabi gösterdiğiniz bilgiler de işimi oldukça iyi şekilde görüyor. Tekrar teşekkür ederim.

git push depolama servisine degil, tanimlanmis remote’lardan birine push ediyor. Remote olarak lokal bi dizin veya SSH yolu verebiliyorsun.

USB surucune repo kuracaksan bare repository (dosyasiz, checkout edilmemis repo) istiyor olma ihtimalin yuksek, ona da bir bak istersen.

SSh yolu olarak github, gitlab gibi web tabanlı depolama servislerini kullanırsak sonuç olarak remote depolama servisi olarak tanımlanmış ve git push da depolama servisine push etmiş olmuyor mu?

Deneyecem, sağolun.

Evet.

“Cevrimdisi” derken cogunlukla cevrimdisi calistigini vurgulamak istedim, cevrimici calismadigini soylemek degil.* Cogu insan git ile GitHub’i ayni sey zannediyor.


*: Hatta offline/distributed calismasi ben ve cevremdeki bir suru kisi icin SVN’den gecis sebebi oldu. O zamanlar SVN offline commit bile yapamiyordu. Eski backup disklerimin ucra koselerinde server’larini bekleyen SVN repolari var…

Bilgi birikiminizden uzun süredir bu alanda olduğunuz farkediliyordu ama bu kadar uzun olduğunu tahmin etmemiştim. :grinning_face_with_smiling_eyes: