Makalelerim

Bir Çakalın Yedekleme Mekanizması

Bu yazıda sizlere bir çakalın yedekleme mekanizmasından bahsedeceğim. Öncelikle şunu belirtmem gerekiyor ki işlemlerin nasıl yapılacağına dair fazla detay vermeyeceğim. Sadece yüzeysel olarak bahsedeceğim. Diğer tüm detaylar zaten yüzlerce sitede var. Her detaya Google ile arayarak ulaşabilirsiniz veya bu yazıya yorum yapabilirsiniz ama doğru cavabı almanız biraz zaman alabilir.

Sahip olduklarımız :

  • Her hangibir Linux sunucu ( host,vps... )
  • Bir google (gmail) hesabı ( veya başka bir sunucuda barındırılan e-posta hesabı )

İşlem Basamakları :

  • Veritabanımızı okumamız için bir kullanıcı açalım ve sadece okuma yetkisi verelim
  • Ev (/home/mopened) dizininizin altında "dbbackup" isminde bir klasör oluşturuyoruz. 
  • Bu oluşturduğumuz dizine giriyoruz ve "dbbackup.sh" isminde bir dosya oluşturuyoruz. 
  • "dbbackup.sh" isimli dosyanın yetkilerini "755" olacak şekilde ayarlıyoruz.
  • "dbbackup.sh" isimli dosyanın içeriğini aşağıdaki gibi yapıyoruz : "/home/mopened" yazan yerleri kendi hesabınızın ev (home) yolu ile değiştirmeyi unutmuyoruz.


#!/bin/bash YYYYMMDD=`date +%Y%m%d` # veya kendi sunucumuzda son bir haftaya ait günlük yedekleri saklamak istiyorsak şöyle yazabiliriz `date +%w%a` rm -rf /home/mopened/dbbackup/$YYYYMMDD.sql.gz # mopened_ReadOnlyUser yazan yere veritabanı kullanıcısının adını yazıyoruz # 123456789 yazan yere veritabanı kullanıcısının şifresini yazıyoruz, p harfine dikkat lütfen, aynen aşağıdaki örnekte olduğu gibi olmalı # mopened_DBName yazan yere veritabanının adını yazıyoruz mysqldump -h localhost -u mopened_ReadOnlyUser -p123456789 mopened_DBName | gzip > /home/mopened/dbbackup/$YYYYMMDD.sql.gz #requires: basename,date,md5sum,sed,sendmail,uuencode function fappend { echo "$2">>$1; } # Aşağıdaki bloktaki yerleri kendimize göre değiştiriyoruz TOEMAIL="posta@alanadiniz.com"; # Yedeğin gönderileceği e-posta adresini buraya yazıyoruz FREMAIL="crondaemon@alanadiniz.com"; # Yedeği gönderiyormuş gibi yapan e-posta adresini buraya yazıyoruz:), Gmaildeki filtreleme olayı için bu adresi kullanacağız. Mümkünse sadece bu işlem için kullanacaağımız bir adres olsun. Gerçekte bu adresin ulaşılabilir olması şart değildir. Yani böyle bir mail hesabınızın olması gerekmiyor. SUBJECT="MOPENED.COM - Günlük Yedek - $YYYYMMDD"; # E-Postanın konusunu buraya yazıyoruz MSGBODY="Merhaba Çakal:), Ekteki dosyayı sakla, yoksa üzülürsün."; # E-postanın içeriğinide buraya yazıyoruz ATTACHMENT="/home/mopened/dbbackup/$YYYYMMDD.sql.gz"; # Değiştirebileceğimiz blok bitti # Bu bloktakileri değiştirmeye gerek yok MIMETYPE="application/x-compressed" TMP="/tmp/tmpfil_123"$RANDOM; BOUNDARY=`date +%s|md5sum` BOUNDARY=${BOUNDARY:0:32} FILENAME=`basename $ATTACHMENT` rm -rf $TMP; cat $ATTACHMENT|uuencode --base64 $FILENAME>$TMP; sed -i -e '1,1d' -e '$d' $TMP;#removes first & last lines from $TMP DATA=`cat $TMP` rm -rf $TMP; fappend $TMP "From: $FREMAIL"; fappend $TMP "To: $TOEMAIL"; fappend $TMP "Reply-To: $FREMAIL"; fappend $TMP "Subject: $SUBJECT"; fappend $TMP "Content-Type: multipart/mixed; boundary=\""$BOUNDARY"\""; fappend $TMP ""; fappend $TMP "This is a MIME formatted message. If you see this text it means that your"; fappend $TMP "email software does not support MIME formatted messages."; fappend $TMP ""; fappend $TMP "--$BOUNDARY"; fappend $TMP "Content-Type: text/plain; charset=UTF-8; format=flowed"; fappend $TMP "Content-Transfer-Encoding: 7bit"; fappend $TMP "Content-Disposition: inline"; fappend $TMP ""; fappend $TMP "$MSGBODY"; fappend $TMP ""; fappend $TMP ""; fappend $TMP "--$BOUNDARY"; fappend $TMP "Content-Type: $MIMETYPE; name=\"$FILENAME\""; fappend $TMP "Content-Transfer-Encoding: base64"; fappend $TMP "Content-Disposition: attachment; filename=\"$FILENAME\";"; fappend $TMP ""; fappend $TMP "$DATA"; fappend $TMP ""; fappend $TMP ""; fappend $TMP "--$BOUNDARY--"; fappend $TMP ""; fappend $TMP ""; #cat $TMP>/home/mopened/dbbackup/mailcontent.txt; # Satırın başındaki # `i silersek mail içeriğini bu dosyaya yazdırabiliriz cat $TMP|/usr/sbin/sendmail -t>/home/mopened/dbbackup/output.txt; # Oluşabilecek gönderim hatalarını bu dosyaya yazdırıyoruz rm $TMP; # Değiştirmemize gerek olmayan blok bitti rm -rf /home/mopened/dbbackup/$YYYYMMDD.sql.gz # Oluşturduğumuz yedek dosyasını sunucumuzdan siliyoruz, Eğer kendi sunucumuzda son bir haftaya ait günlük yedekleri saklamak istiyorsak bu satırı silebiliriz veya başına # koyabiliriz

  • Sunucumuzda son olarak aşağıdaki tablodaki değerlere göre bir zamanlanmış görev oluşturuyoruz. Tabi istekleriniz doğrultusunda değiştirebilirsiniz.
    • Her gün gece saat 3`te çalışması ve bize herhangibir bildirim yollamaması için
      MinuteHourDayMonthWeekdayCommand
      0
      3
      *
      *
      *
      /home/mopened/dbbackup/dbbackup.sh >/dev/null
    • Her gün gece saat 3`te çalışması ve bize işleme dair detayları yollaması için ise şöyle olması gerekiyor. Bunun çalışması için mail adresimizi "Zamanlanmış Görev e-posta adresi" (Cron Email) alanına girmemiz gerekiyor. Bu alan genel "Zamanlanmış Görev" (Cron Jobs) ayarları altındadır.
      MinuteHourDayMonthWeekdayCommand
      03***/home/mopened/dbbackup/dbbackup.sh
  • Şimdi Gmail`i açıyoruz ve "Yedekler" isimli bir etiket oluşturuyoruz. 
  • Ardından Gmail`de bir filtre oluşturuyoruz, detayları ise şöyle :
    • Fitre Detayları :
      • Gönderen = crondaemon@alanadiniz.com
    • İşlem Detayları :
      • Gelen Kutusunu Atla
      • Okundu Olarak İşaretle
      • Etiket Uygula "Yedekler"
      • Sil ( Eğer bize son 1 ay içindeki günlük yedekler yeter diyorsak bunu seçiyoruz, Gmail bu yedekleri bizim için Çöp Kutusunda saklayacaktır:) )
      • Her zaman önemli e-postalara ekle
  • Her şeyin doğru bir şekidle çalıştığını anlamak için Zamanlanmış Görevin (Cron Job) çalışmasını bekliyoruz veya Zamanlanmış Görevde (Cron Job) ufak bir zaman düzeltmesi yapıyoruz:)

 

Şimdi bütün işlemler bitti. Artık veritabanımızın günlük yedeklerini alıyoruz. Hemde masrafsız ve kapasite düşünmeye gerek kalmayacak şekilde. Ama unutmayınız veritabanındaki her şey artık yazdığınız mail adresine gidiyor olacak. Bu yüzden güvenliğini arttırmak iyi olacaktır. Google`ın 2 adımlı doğrulama yönetmini kullanmanızı tavsiye ederim. Aryıca belirtmek isterim ki anlayacağınız üzere sadece veritabanının yedeğini aldık. Dosyalar sürekli değişmediği için zaman zaman manuel olarak yedekleri alınabilir. Tabi eğer isterseniz yine aynı yöntemle bu işlemide gerçekleştirebilirsiniz ama dosyaların boyutuna bağlı olarak sunucuya çok fazla yük bindirme olasığı var. Ayrıca her gün yüzlerce mb veriyi mail olarak atmak çokta mantıklı değil sanırım. Bunun için başka bir sunucunuza ftp ile transfer etmeniz daha uygun görülebilir.

Her yiğidin yoğurt yiyişi farklıdır. İsteklerine, elindekilere ve düşüncelerine göre yöntemleride değişir. Yoğurt yemeyen birisi olarak benim yöntemim budur:). Şuanki durumum için en ideal çözüm bu sanırım.  


Devamını Oku ⇒
19 Kas 2011 15:14:53 Güncelleyen: Murat Demir

Hamsi Singer

Hamsi Singer

Hamsi Singer Amarok 2 için kopete uyumlu "Ne Dinliyorum" Eklentisidir. Hamsi Singer KDE4 için geliştirildi. V0.5 sürümünden itibaren "Şimdi Ne Mi Söylüyor?" isimli eklentimide bu projeye dahil ettim.Böylece tam teçhizatlı bir araca dönüştürüldü. İngilizce dil desteğide sunulmaktadır. 0.9.01 sürümü ilede Fransızca dil desteğe kavuştu. Fransızca çevirisini Jeremy Meunier isimli bir arkadaşımız yaptı. Kendisine tekrar teşekkür ederim.
Hamsi Singer projesinin eski adı "Şimdi Ne Mi DinliyoruM?"`dur."Şimdi Ne Mi DinliyoruM?"`in son sürümü V0.8.1`dir.Projenin adı V0.8.50`de değiştirilmiştir.

Mevcut Özellikler :

  • Seçenekler penceresini kullanarak durum iletinizi istediğiniz gibi düzenleyebilirsiniz.
  • Varsayılan yenileme süresi zaman bilgisi için  15 saniye ve şarkı sözü için 3 saniyedir ama isteğinize göre ayarlayabilirsiniz.
  • Albüm Kapağını Avatarınızda Gösterir
  • Sanatçı adını gösterir
  • Şarkı adını gösterir
  • Albüm adını gösterir
  • Albüm sanatçısının adını gösterir
  • Beğeni yıldızlarını gösterir
  • Parçanın şu anki zamanını gösteririr
  • Kapak yolunu gösteririr (Önerilmez)
  • Parçanın piyasaya çıkış yılını gösteririr
  • Şarkı uzunluğunu gösteririr
  • Dosya yolunu gösteririr (Önerilmez)
  • Parça numarasını gösteririr
  • Parçanın tarzını gösteririr
  • Parçaya yapılın yorumu gösteririr
  • ******* Parçanın sözlerini gösteririr *********
  • Parçanın BitRate`ini gösteririr (Önerilmez)
  • Parçanın SampleRate`ini gösteririr (Önerilmez)

Sistem Gereksinimleri :

Kaynak Kodları ve Diğer Dosyalar
https://sourceforge.net/projects/hamsisinger/

Devamını Oku ⇒
28 Haz 2015 13:09:16 Güncelleyen: Murat Demir

Hamsi Cover

Hamsi Cover

Hamsi Cover amarok 2.x için oluşturulmuş bir eklentidir.Dinlediğiniz şarkının albüm kapağını alır ve şarkının bulunduğu dizinin simgesi haline getirir.Bu işlemi her parça değişiminde veya kendiniz istediğiniz zaman Amarok`ta Araçlar menüsü altındaki "Parçanın Bulunduğu Dizine Simge Oluştur" isimli butona tıklayarak da yapabilirsiniz.

Hamsi Cover;V0.2 sürümünden itibaren çok dil destekli olarak yayımlanacaktır.V0.2 ile eklenen bu özellik ilerki sürümlerdede devam ettirilecektir.V0.6 sürümü ilede Fransızca dil desteğe kavuştu.Fransızca çevirisini Paul Forget isimli bir arkadaşımız yaptı.0.8.70 sürümünde Çekçe dil destediğine kavuştu.Çekçe çevirisini Tomáš Hejátko isimli bir arkadaşımız yaptı.Herkese tekrar teşekkürlerimi sunarım.
Hamsi Cover projesinin eski adı "Dizin SimgeM"`dir."Dizin SimgeM"`in son sürümü V0.8.2`dir.Projenin adı V0.8.50`de değiştirilmiştir.

Mevut Özellikleri:

  • Şarkı değiştikten istediğiniz kadar saniye sonra otomatik olarak dizine simge oluşturabilirsiniz
  • Simge ismini istediğiniz gibi otomatik olarak oluşturur ve hatalı karakterleri düzeltir
  • Albüm kapağını isterseniz ilgili dizine kopyalayabileceğiniz gibi sadece linklendirme yoluylada simge haline getirebilirsiniz
  • Oluşturulacak kapakların dosya yetkilerini, sahibi ve grubunu ayarlayabilirsiniz

Sistem Gereksinimleri :

Kaynak Kodları ve Diğer Dosyalar
https://sourceforge.net/projects/hamsicover/

Devamını Oku ⇒
28 Haz 2015 13:15:25 Güncelleyen: Murat Demir