Ubuntu Sunucu İçin Eşitleme (Sekronizasyon) Betiği İsteği

Başlatan krwlng, 07 Eylül 2012 - 17:48:38

« önceki - sonraki »

0 Üyeler ve 1 Ziyaretçi konuyu incelemekte.

krwlng

Elimde şuan ubuntu 12.04 sunucu sürümü kurulu bir sistem var, ve bu sistem ağ üzerinde 2 win makineye harici disk üzerinden dosya sunuculuğu yapıyor. Şöyle ki, sunucu makine günde 3-4 kez istemcilerden belirleyeceğim bir tanesinin sabit diskindeki bir dizinin içerisini kontrol edecek ve sunucuda ki harici diskte bulunan aynı isimli dizin ile karşılaştıracak, değişiklikleri istemci bilgisayardan sunucuya şeklinde kopyalama yolu ile eşitleyecek. Dizin boyutu toplam 1,5-2 gb arası değişiyor, yani dizin içerisinde değişen sadece bir dosya varsa istemciden sunucuya sadece bir dosya kopyalanacak. Böyle bir durumun günde 3-4 kez çalışması için Crontab kullanabilirim ama önemli olan bunu yapacak bir betik hazırlamak, bash programlamadan anlamadığım için bu tarz bir işlemi yapacak betik fikri olanlardan yardım bekliyorum, şimdiden teşekkür ederim. Gerekli gördüğünüz bilgileri isteyin ben size her konuda geniş bilgi verebilirim.
http://twitter.com/yusuFBrn

Ali İsmail Korkmaz, FENERBAHÇE Yıkılmaz!

cagriemer

Windows istemciler samba ile mi erisiyor dosyalara? rsync ile bir satirda halledilebilirdi aslinda ama smb uzerinden iletisemiyormus rsync.

krwlng

@cagriemer, maalesef istemciler win olduğu için samba ile erişiyor sunucu istemcilere.
http://twitter.com/yusuFBrn

Ali İsmail Korkmaz, FENERBAHÇE Yıkılmaz!

cagriemer

Peki windows istemcilere SSH sunucu yazilimi kurmak mumkun mu? Eger mumkunse once SSH sunucu kurulumunu yapin. Ardindan Linux makinanizdaki SSH anahtarinizi windows SSH istemcilerde authorized_keys'e denk dusen kisima ekleyip Linux makinanizdan istemcilerinize SSH ile baglanabildiginizi test edin. Ardindan asagidaki komutu istediginiz isimle kaydedip calistirma izinlerini verin ve crontab dosyaniza ekleyin.

rsync -avze ssh --delete windows-bilgisayar:dizin /yedek/alinacak/dizin

Normalde bu sekilde calismasi lazim. Fakat rsync'e verdigimiz a opsiyonu sahiplik, zaman degerleri, izinler falan gibi dosya sistemi ozelliklerini korumaya calisacagindan belki sorun yasanabilir. Oyle bir durumda a'yi degistirebiliriz.

krwlng

Ssh olayını ayrıca denemem gerekiyor, fakat rsync denemesi yaparken farkettim, mesela 1,2,3,4 isimli dosyaları a dizininden b dizinine ilk eşitlemede sorun yok ama 1 dosyasının ismini değiştirdiğim zaman, b dizinindeki 1 dosyası olduğu gibi kalıyor ve a dizininde ismini değiştirdiğim 1 dosyası b dizinine kopyalanıyor, benim işimi görmesi için ben a dizinindeki bir dosyayı sildiğim zaman veya ismini değiştirdiğim zaman, b dizininde bu değişen dosya eşitlenip artık a dizininde olmayan eski dosyanın silinmesi lazım. Böyle olmazsa en ufak değişiklikte dosya sayısı uçar gider ve önü alınmaz bir kalabalık oluşur.
http://twitter.com/yusuFBrn

Ali İsmail Korkmaz, FENERBAHÇE Yıkılmaz!

heartsmagic

@krwlng, rsycn denemesini nerede ve nasıl yaptın? Normal şartlar altında istediğin şeyin olması lazım. Yani mv edilen eski dosyanın silme işlemine uğraması, yeni isimli dosyanın diğer tarafa da işlenmesi gerekiyor. --delete kullandın mı mesela? Zira o senin istediğin şeyi sağlıyor.
Hayattan çıkarı olmayanların, ölümden de çıkarı olmayacaktır.
Hayatlarıyla yanlış olanların ölümleriyle doğru olmalarına imkân var mıdır?


Böylece yalan, dünyanın düzenine dönüştürülüyor.

krwlng

rsync kurulu kendi sistemimde iki dizin arası bu komutları denedim, --delete kısmını da kullandım, kopyalama ve eşitlemede sorun yok fakat eşitleme sırasında belirttiğim gibi kaynak dizindeki dosya değişse bile hedef dizindeki dosya aynı kalıyor ve yeni bir dosya oluşuyor. Oradaki --delete shh değil rsync komutu sanırım, o yüzden yerel olarak denerken bile düzgün sonuç vermesi gerekmiyor mu?
http://twitter.com/yusuFBrn

Ali İsmail Korkmaz, FENERBAHÇE Yıkılmaz!

heartsmagic

--delete parametresi rsycn'e ait. Tam olarak nasıl denediğini geçer misin buraya? Hangi parametrelerle yani.
Hayattan çıkarı olmayanların, ölümden de çıkarı olmayacaktır.
Hayatlarıyla yanlış olanların ölümleriyle doğru olmalarına imkân var mıdır?


Böylece yalan, dünyanın düzenine dönüştürülüyor.

krwlng

İlk eşleştirme krwlng@krwlng-precise:~/Masaüstü$ rsync -avze --delete a/ b/
sending incremental file list
./
1
2
3
4
5
6

sent 306 bytes  received 129 bytes  870.00 bytes/sec
total size is 0  speedup is 0.00


İsim değiştirme ve tekrar eşleştirme,
krwlng@krwlng-precise:~/Masaüstü$ cd a
krwlng@krwlng-precise:~/Masaüstü/a$ ls
1  2  3  4  5  6
krwlng@krwlng-precise:~/Masaüstü/a$ mv 1 test
krwlng@krwlng-precise:~/Masaüstü/a$ ls
2  3  4  5  6  test
krwlng@krwlng-precise:~/Masaüstü/a$ cd ..
krwlng@krwlng-precise:~/Masaüstü$ rsync -avze --delete a/ b/
sending incremental file list
./
test

sent 129 bytes  received 34 bytes  326.00 bytes/sec
total size is 0  speedup is 0.00


Dizin kontrolü,
krwlng@krwlng-precise:~/Masaüstü$ cd a
krwlng@krwlng-precise:~/Masaüstü/a$ ls
2  3  4  5  6  test
krwlng@krwlng-precise:~/Masaüstü/a$ cd ..
krwlng@krwlng-precise:~/Masaüstü$ cd b
krwlng@krwlng-precise:~/Masaüstü/b$ ls
1  2  3  4  5  6  test
krwlng@krwlng-precise:~/Masaüstü/b$


Durum bu şekilde.
http://twitter.com/yusuFBrn

Ali İsmail Korkmaz, FENERBAHÇE Yıkılmaz!

cagriemer

Benim size verdigim komutta SSH da vardi. Eger SSH'i dusurecekseniz -e'yi de dusurmelisiniz. Yani komutunuzun son hali su sekilde olmali;

rsync -avz --delete a/ b/


Bu sekilde yaptiginizda istediginiz sonucu almaniz gerekiyor.

krwlng

@cagriemer, çok teşekkür ederim -e parametresini düşürünce tam istediğim şekilde çalıştı.
@heartsmagic, sana da ayrıca teşekkür ederim fikirlerin için, bir de ricam var, şimdilik konu açık kalabilirse iyi olur, sunucu ile deneme yaptıktan sonra sonuca göre çözüldü etiketini eklemek istiyorum.
http://twitter.com/yusuFBrn

Ali İsmail Korkmaz, FENERBAHÇE Yıkılmaz!

heartsmagic

Konu elbette açık kabalabilir, denemeyi yaptıktan sonra not düşüp etiketlemen yeterli bizler için @krwlng. Ayrıca rica ederim ancak kendi adıma ben pek bir şey yapmadım soru sormaktan başka :)
Hayattan çıkarı olmayanların, ölümden de çıkarı olmayacaktır.
Hayatlarıyla yanlış olanların ölümleriyle doğru olmalarına imkân var mıdır?


Böylece yalan, dünyanın düzenine dönüştürülüyor.