Etiketler

crontab etiketine sahip kayıtlar gösteriliyor. Tüm kayıtları göster
crontab etiketine sahip kayıtlar gösteriliyor. Tüm kayıtları göster

4 Temmuz 2013 Perşembe

RSYNC

Merhaba Arkadaşlar
Bu yazımda sizlere Rsync'nin ne olduğundan bahsetmek istiyorum.

Rsync linux, unix sitemlerinde hızlı bir şekilde dosya transferini sağlayan bir uygulamadır.
Windows işletim sisteminde de kullanılabilir ancak cygwin kurmalısınız.
Genel olarak yedekleme ve sekronizasyon işlemlerinde dosyaların kopyalanması için kullanılır.
Rsync açık kaynak kodludur ve GNU (genel kamu lisansı) ya sahiptir. Bir çok Linux dağıtımında ön tanımlı olarak bulunmaktadır. Şayet yok ise de yüklemek gayet kolaydır. En büyük avantajı her seferinde sıfırdan başlayarak yedekleme yapmak yerine sadece değişikliğe uğramış yada yeni yaratılmış dosyaların/dizinlerin aktarılmasıdır. Böylelikle hızlı bir şekilde dosya aktarımı sağlanmış olur.

Temel özelliklerinden biraz bahsedecek olursak
       Tüm bir dizini ya da dosya sistemini yedekleyebilirsiniz.
       Root yetkisine sahip olunmasına gerek yoktur.
       Lokal sistem üzerinde yedekleme/sekronizasyon yapabilirsiniz.
       Uzaktaki bir sistemden, lokal bir sisteme yedekleme/sekronizasyon yapabilirsiniz.
       Network üzerinden transfer için ssh kullanabilirsiniz.
       Daemon modu mevcuttur.
        Exlude anahtarı ile istemediğiniz dosya yada dizinlerin yedeklemesini yapmayabilirsiniz.

Kurulum için  terminal (ctrl+alt+delete) ekranına yazılması gereken komut satırı :

sudo apt-get install rsync

Kullanımı ise oldukça basittir.

En temel komutu :
rsync -a kaynakdizin hedefdizin

Eğer yedekler, uzaktaki bir sisteme transfer edilmek istenirse ;
rsync -a kaynakdizin uzaktakisistem:hedefdizin

Eğer yedekler uzaktaki bir sistemden alınacaksa ;
rsync -a uzaktakisistem:kaynakdizin hedefdizin
 komut satırları kullanılabilir.

Rsync parametrelerinden bazıları ;
-r : Kopyalama işlemi,alt dizinlerde kapsanacak şekilde recursive olarak yapılır.
-l : Sembolik linkler, sembolik link olarak kopyalanır.
-p : Dosya ve dizinlerin izin değerleri korunur.
-t : Dosyaların değiştirilme (mtime) bilgisi de transfer edilir.Senkronizasyon 
işlemleri için bu anahtar kullanılmalıdır.
-g : Dosya ve dizinlerin grup bilgileri korunur.
-o : Dosya ve dizinlerin sahip bilgileri korunur.
-D : Device dosyaları vs hedefte oluşturulur.
-a : yukarıdaki bütün parametreleri kapsar.
-H : Hard linkleri de transfer eder.
-z : Transfer sırasında dosyaları sıkıştırır.
--exclude : Belirtilen PATTERN, kopyalama işleminden muaf tutulur. 
--dry-run : Komut çalıştırıldığı zaman, hangi işlemlerin gerçekleşeceği gösterilir ancak işlemler gerçekte uygulanmaz.
--delete :  Kaynak tarafta artık bulunmayan dosyalar, hedef taraftan da silinir. Dikkatli kullanılmalıdır.
--human-readable : Çıktılar, human-readable (anlaşılır) formatta verilir.

Ayrıca, -v anahtarı ile kopyalama işleminde verbose özelliği açılarak işlem sırasında detay alınabilmektedir. -vv ya da -vvv şeklinde işlem detayları daha da arttırılabilir.


Ek olarak;
Daha önce bahsettiğim "crontab" ile otomatik olarak yedekleme işlemimizi gerçekleştirebiliriz.
Bunu çok basit bir örnekle açıklayayım.
Mesela; masaüstüne deneme diye bir klasör oluşturdum ve daha sonra  klasörün içine deneme.txt diye bir text dosyasını oluşturdum ve içine birşeyler yazdım. Daha sonra terminal ekranından 

rsync -av --delete /home/username/Desktop/home /home/username/Desktop/deneme
yazdığımda masaüstünde deneme adlı bir klasör oluşturulacak ve içerisine home klasörü kopyalanacaktır.

Crontab e girmek için terminal ekranına
crontab -e
daha sonrada ;
0 15 * * * rsync -av --delete /home/username/Desktop/home /home/username/Desktop/deneme
yazdığımızda hergün saat 15 de masaüstünde bulunan home klasörümüzün içi kontrol edilecek bir değişiklik var ise onlar deneme klasörümüze kopyalanacaktır.

Herkese iyi çalışmalar..
Daha sonraki yazılarımda görüşmek dileğiyle..

Yararlanılan Kaynaklar:
http://www.syslogs.org/rsync-ile-dizin-senkronizasyon-ve-incremental-backup-islemleri/
http://www.linuxogren.com/rsync-ve-backup-islemi.html
http://forum.linuxmint.org.tr/index.php?topic=1033.0
http://rsync.samba.org/

2 Temmuz 2013 Salı

CRONTAB

Merhaba Arkadaşlar
Bu yazımda sizlere 'crontab' ın ne olduğundan bahsetmek istiyorum.
Crontab belirlediğiniz işin yada komut satırının belli zaman aralıklarında otomatik olarak otomatik olarak çalışmasını sağlar.

Grafik ekranından çalışmak isterseniz terminalde komut satırına
sudo apt-get install gnome-schedule
yazmanız yeterlidir.
Crontab'ınızı yazmak ya da düzenlemek için komut satırına
crontab -e
yazmanız yeterlidir. Eğer root da yapılacak işleri düzenlemek istiyorsanız, sudo ile komutuı yazabilirsiniz.
sudo crontab -e
Yapılacak işleri düzenlemek için:
crontab -l
yazmanız gerekiyor.
Yapılacak işleri silmek için ise;
crontab -r
yeterlidir.
Crontab dosyasının en son ne zaman düzenlendiğini görüntülemek için ;
crontab -v
Crontab dosyası;
Crontab dosyasi sirasi ile Dakika (0-59), Saat (0-23), Ayin Günü (1-31), Ay (1-12) ve 
Haftanin Günü (0-6) (Pazar = 0) alanlarini ve çalistirilacak komutu barindirir.
 "*" (tirnaklar hariç) kullanildigi alan için kullanilabilinecek tüm degerleri ifade eder. Bir alan için girilecek birkaç deger ","(virgül) ile ayrilabilir.
* * * * * Çalistirilacak Komut- - - - -| | | | || | | | +----- haftanin günü (0 - 6) (Pazar=0)| | | +------- ay (1 - 12)| | +--------- ayin günü (1 - 31)| +----------- saat (0 - 23)+------------- dakika (0 - 59)

Crontab ın nasıl yazılacağına dair bir kaç örnek verecek olursak ...

Hergün saat 18:30'da /tmp klasöründeki dosyalari silen crontab satiri asagidaki gibidir.
30 18 * * * rm /home/kullaniciadi/tmp/*
Asagida birkaç zamanlama örnegi ve çalistirilma zamanlari verilmistir.
dak saat gün/ay ay gün/hafta Çalistirilma Zaman
30 0 1 1,6,12 *
Ocak, Haziran ve Aralik aylarinin birinci günü saat 00:30'da
0 20 * 10 1-5  
Ekim ayinin her Pazartesi ve Cumasi saat 20:00'de
0 0 1,10,15 * *   
Her ayin 1'inde, 10'unda ve 15'inde gece yarisi (00:00)
5,10 0 10 * 1
Pazartesileri ve her ayin 10. gününde saat 12:05 ve 12.10'da

Yararlanılan kaynaklar:
https://help.ubuntu.com/community/CronHowto
http://my.cliaweb.com/knowledgebase.php?action=displayarticle&id=16&useful=vote

Daha sonraki yazılarımda görüşmek dileğiyle
Kolay gelsin..