26 Haziran 2012 Salı

mysqldump kullanımı

mysqldump komutu veritabanının yedeğini almak için ve bu yedekleri geri yüklemek için kullanılan bir komuttur. Veritabanının yedeğini almak derken, yapabileceğimiz işlemler kısıtlı değildir. Tek bir veritabanının yedeğini almak, birden çok veritabanının yedeğini almak, tüm veritabanlarının yedeğini almak, tek bir veritabanından seçtiğimiz tabloların yedeğini almak gibi işlemleri yapabiliriz. mysqldump komutunun kullanımı aşağıdaki 3 şekilde özetlenebilir.
  mysqldump [OPTIONS] database [tables]  mysqldump [OPTIONS] --databases [OPTIONS] DB1  mysqldump [OPTIONS] --all-databases [OPTIONS]  
Parametrelerinden bahsedecek olursak; --add-drop-database(--add-drop-database) ve --add-drop-table(--add-drop-table) parametreleri, alacağımız yedeğe CREATE DATABASE ve DROP DATABASE ekler. Böylece yedeği geri yüklerken, eğer tablo varsa, olası bi hatadan kurtulmuş oluruz. --default-character-set=utf8(--default-character-set=utf8) parametresi ile (dikkat: default kelimesinden önce 2 adet çizgi var, diğerleri tek çizgi)(utf8 yerine başka bir seçenek de yazabiliriz) dil seçeneğini belirleyebiliriz. Böylece geri yüklemelerde türkçe karakter problemi yaşamanın önüne geçeriz. --add-locks(--add-locks) parametresi ile yedekleme sırasında tabloları kilitleyebiliriz. Böylece yedeklerken tablolara yeni veri yüklenemez, böylece yedekleme işlemimizin süresi kısalabilir. Örnek vererek açıklamaya çalışayım. 3 adet veritabanımız, bunların içinde de 2'şer tane tablomuz olduğunu varsayalım. veritabanı : Log tabloları : mysql_error, php_error veritabanı : Users tablolaro : admin, customer veritabanı : Blog tabloları : options, comments Tek bir veritabanının yedeğini alalım;
  mysqldump -u root -p Log > log.sql  
Log veritabanındaki tüm tabloları log.sql olarak yedekledik. log.sql'in başına dosya yolu da ekleyebiliriz. Örneğin A:/test/yedekler/log.sql gibi bir yere de yedekleyebiliriz. Dil seçeneğini nasıl kullanacağımıza bakalım;
  mysqldump -u root -p --default-character-set=utf8 Log > log.sql  
--add-drop-database kullanarak yedekleyelim bir de
  mysqldump -u root -p --add-drop-database --default-character-set=utf8 Log > log.sql  
Tek veritabanından tek bir tabloyu yedekleyelim;
  mysqldump -u root -p Users customer > usersCustomer.sql  
Birden çok veritabanının yedeğini alalım;
  mysqldump -u root -p --databases Users Blog > usersAndBlog.sql  
Tüm veritabanlarının yedeğini alalım;
  mysqldump -u root -p --all-databases > allMysqlDb.sql  
Aldığımız yedekleri geri yüklemek istediğimiz zaman da yapmamız gereken çok basit;
  mysqldump -u root -p {veritabanı adı} < {yedek}    mysqldump -u root -p Log2 < log.sql  
Devamı için : mysqldump kullanımı

22 Haziran 2012 Cuma

Linux ve Unix icin Crontab - CronJob - Zamanlanmis Gorev

Hızlı Crontab Dökümanı (zamanlanmış görev)

Linux  (Unix) ve Solaris sistemlerde Cronjob (zamanlanmış görev) oluşturmak 
Cron, zamanlanmış görevler hazırlayabileceğiniz ve bu görevlerin arka planda cron sihirbazı ile çalıştırabileceğiniz bir özelliktir. Cron jobs (zamanalanmış görevler) cron tab (cron tables yani cron tablosu) diye çeşitli söylemleri vardır. Bunlar aynı şeydir. Bu görevler, programları ve ne zaman çalışacakları ile ilgili verileri bir dosyada tutar. 1. Crontab Kısıtları Crontab 'ı /usr/lib/cron/cron.allow dosyasında kullanıcı adınız yazıyorsa kullanabilirsiniz. Eğer bu dosya yok ise, /usr/lib/cron/cron.deny dosyasında adınız yok ise kullanabilirsiniz. Eğer bu dosya da yoksa, sadece root kullanıcısı crontab özelliğini kullanabilir.Allow (izin) ve deny (engel) dosyaları, 1 satırda 1 kullanıcı adı olacak şekildedir. 2. Crontab komutları export EDITOR=vi ;cron dosyasını hangi editörde açacağınızı böyle ayarlayabilirsiniz. Burada biz "vi" editörünü seçmişiz. crontab -e    : Crontab dosyanızı düzenleyin, yoksa oluşturun. crontab -l     : Crontab dosyasınızın içeriğini görüntüleyin. crontab -r    : Crontab dosyanızı silin. crontab -v   : Crontab dosyanızı en son ne zaman düzenlediğinizi görün. (Bu sadece nadir sistemlerde çalışır) 3. Crontab dosyası Crontab yazım kuralları : Bir crontab dosyası içinde 5 tane özel zaman anlamı içeren alandan oluşur. Bunlardan sonra da çalıştırılacak komutu yazarız.
*     *     *   *    *        çalıştırılacak komut  -     -     -   -    -  |     |     |   |    |  |     |     |   |    +----- haftanın günü (0 - 6) (Pazar=0)  |     |     |   +------- ay (1 - 12)  |     |     +--------- ayın günü (1 - 31)  |     +----------- saat (0 - 23)  +------------- dakika (0 - 59)
içinde * olan alanlar için geçerli tüm değerleri yazmışsınız gibi düşünebilirsiniz. Alanların içinde * veya,  (1,2,3) gibi virgülle ayrılmış değerleri yazabilirsiniz. Notlar Bazı kullanımlar tüm işletim sistemlerinde geçerli olmadığından, bunları kullanmamak en doğrusu. Bu yüzden belirtmiyorum burada. Haftanın günü ve ayın günü  kısımlarına bir şey yazdığınızda her ikisi de çalışır. Yani OR ile birleştirilmiş bir query gibidir. 4. Crontab Örnekleri Crontab dosyasındaki bir satır aşağıdaki gibidir. Bu kod, hergün saat 18.30 da /home/user/tmp/ klasörünün içini temizler. 30     18     *     *     *         rm /home/user/tmp/* Aşağıdaki tabloda da komut olmadan zamanlama ile ilgili bir kaç örnek bulabilirsiniz.
min hour day/month month day/week Execution time
30 0 1 1,6,12 * – Ocak haziran ve aralık aylarının 1. gününde saat 00.30 da çalışır.
0 20 * 10 1-5 – Ekim ayında haftanın her pazartesi ve Cuma günlerinde 20.00 de çalışır.
0 0 1,10,15 * * – her ayın 1 inde 10unda ve 15 inde saat (00.00'da )gece yarısı çalışır.
5,10 0 10 * 1 – Her ayın 10unda ve her pazartesi saat 00.05 ve 00.10 da çalışır.
:
5. Crontab Ortamı cron komutları kullanıcının ana klasöründen shell ile çalıştırır. (/usr/bin/sh) cron her shell için varsayılan bir ortam destekler. aşağıdakileri tanımlar. HOME=/kullnici/klasoru LOGNAME=kullanicinin_idsi PATH=/usr/bin:/usr/sbin:. SHELL=/usr/bin/sh 6. Email gönderimi iptal etmek Varsayılan olarak cronjob işlemi yapınca mail atar. kapatmak istiyorsanız cronun en sonuna aşağıdaki kodu ekleyin. >/dev/null 2>&1 7. Log dosyası üretmek Crondan çıkan outputu bir log dosyasına atmak istiyorsanız da, aşağıdaki gibi >/log/dosya.log şeklinde outputu dosya.log un içine push ettirebilirsiniz. 30 18 * * * rm /home/user/tmp/* > /home/user/cronlogs/clean_tmp_dir.log
  Bu yazıyı şuradaki  yazıdan çoğunluğunu çevirerek yazdım. Güzel anlatmış orada, türkçesi de olsun istedim. Umarım faydalı olur. Devamı için : Linux ve Unix icin Crontab - CronJob - Zamanlanmis Gorev

20 Haziran 2012 Çarşamba

tar.gz arsivinin icinden dosya silmek

Linux sistemlerde bir çok durumda bir tarı üretmek kolay gözükse de, bazı durumlarda, özellikle benim gibi çoklu işletim sistemleri ile çalışıyorsanız, ihtiyacınız olabilecek bir şey bu. Nitekim böyle bir işlemi malesef yapamıyorsunuz. Çünkü : 1 - Tar demek, tüm dosyalar toplanıp tek bir dosya haline getirilmiş demek. 2- Gz demek, bu tek tar dosyası, sıkıştırılmış demek. dolayısıyla bunun çözümü, tar.gz dosyasını extract edip, daha sonra ilgili dosyayı silp, tekrardan tar.gz ile sıkıştırmak demektir.         Devamı için : tar.gz arsivinin icinden dosya silmek

18 Haziran 2012 Pazartesi

Linux için nvidia-optimus teknolojisi

Yazının başında ilk olarak, neden böyle bir şeye ihtiyaç duyduğumu belirtmek istiyorum. Gün içerisinde vaktimin çoğunu bilgisayarla geçirdiğim için, özellikle Ubuntu kullanırken bilgisayarımın fanının çok fazla ve çok sesli çalışması, bilgisayarımın çok fazla ısınıyor olması beni rahatsız etti. Windows kullanırken hem ısınması hem de fan sesi açısından bilgisayarım daha rahattı. Ayrıca bu sebeplerden ötürü Ubuntu kullanırken şarj daha çabuk bitmekteydi. Araştırdığımda tabi ki bu olayın ilk defa benim başıma gelmediğini gördüm :D Laptopumda 2 tane ekran kartı var. Biri Nvidia ekran kartı, diğeri İntel grafik kartı. Yapılandırmalar Linux ile tam uyumlu olmadığından dolayı, tüm çalıştırdığım şeyler Nvidia ekran kartını kullanmaktaymış. Daha düzgün anlatabilmek için ilk önce Optimus neymiş onu anlatayım.

Nvidia Optimus teknolojisi nedir?

Yeni nesil diye tabir edilen laptoplarda artık çift ekran kartı var. Bunun sebebi, yüksek grafik gücü gerektirmeyen işlemlerde işlemciyle tümleşik ekran kartı kullanılması, yüksek grafik gücü gerektiren işlemlerde ise harici ekran kartının kullanılması. Böylece hem uzun pil ömrü hem de yüksek performans bir arada oluyor. Daha fazla detay için buraya bakabilirsiniz. Nvidia geliştirdiği Optimus teknolojisi sayesinde, grafik kartı ve ekran kartı arasındaki geçişi rahatlıkla yapabiliyor. Kullanmadığım için bilmiyorum ama önceleri 2 kart arasındaki kullanımı değiştirmek için, yani bir kartı kullanırken diğerini kullanmaya geçmek için bilgisayarı kapatıp açmak gerekiyormuş. Nvidia'nın Optimus teknolojisi Windows tabanlı işletim sistemlerinde tam uyumlu bir şekilde çalışıyor. Örneğin siz oyun oynarken Nvidia ekran kartı, oyunu kapatım browserınızı açtığınızda ise İntel grafik kartı işleme giriyor, sizin ekstra bir şey yapmanıza gerek yok.

Linux'ta Optimus teknolojisi yok mu?

Nvidia, Optimus teknolojisi için Linux hakkında politikasını şu şekilde açıkca belirtmiş ne yazık ki: "We have no plans to support Optimus on Linux at this time." Ama tabi ki Linux geliştiricileri rahat durmayarak %100 olmasa bile bunun da üstesinden gelmişler. Geliştiren grupla ilgili bilgiye de buradan ulaşabilirsiniz. Optimusu Linux'a uyarlamak için bir kaç metod geliştirilmiş. Şimdi ben bunlardan birinin nasıl uygulanacağını anlatacağım. Onun detayları için de buraya tıklayabilirsiniz.

Bumblebee 3.0

Yapmamız gereken terminali açıp (Ctrl+Alt+T) aşağıda verdiğim komutları sırasıyla uygulamak. Bunun dışında herhangi bir ayarı yok. ($USER kısmına Linux'unuzdaki kullanıcı adınızı yazmayı unutmayınız.)
  sudo bumblebee-uninstall  sudo apt-get install ppa-purge  sudo ppa-purge ppa:ubuntu-x-swat/x-updates  sudo ppa-purge ppa:xorg-edgers/ppa  sudo add-apt-repository ppa:bumblebee/stable  sudo apt-get update  sudo apt-get install bumblebee bumblebee-nvidia  sudo usermod -a -G bumblebee $USER  
Bu işlemleri uyguladıktan sonra bir de sudo reboot now derseniz, bilgisayarınız yeniden açıldığında fanınızın sesinin kısıldığını farkedeceksiniz, şarjınız da artık eskisi gibi çabuk bitmeyecek. Yaptığımız işlemler neticesinde, bilgisayarımızı kullanırken yaptığımız işlemlerin hepsini işlemciyle tümleşik grafik kartına yaptırıyoruz. Ufak işlerimiz için Nvidia'yı yormuyoruz, bilgisayarmız da rahatlamış oluyor böylece. Herhangi bir uygulamayı Nvidia Ekran Kartı ile kullanmak istediğimiz zaman ise yapmamız gereken şey çok basit. Tekrar terminali açıyoruz. Ve istediğimiz uygulamanın adını optirun ile birlikte yazıyoruz. Örnek vermek gerekirse
optirun chromium-browser
optirun firefox
optirun komutu ile bir uygulamayı çalıştırdığımızda terminalimiz açık kalacak, çünkü herhangi bir durum olduğu zaman orada logları göreceğiz. Terminali kapattığınızda zaten optirun ile çalıştırdığınız uygulamanın kapandığını da göreceksiniz. Devamı için : Linux için nvidia-optimus teknolojisi

15 Haziran 2012 Cuma

isinizinternette - Shopio

Google, Garanti bankası, Yurtiçi Kargo, ve Sadecehosting ile birlikte IdeaSoft, Shopio adı altında ürettiği yeni eticaret altyapısı ile birlikte,  Tüm türkiyede 14 haziran 2012 tarihinden itibaren ücretsiz E-ticaret sitesi vermeye başladı. (Tabi onaylanması için bir firmanızın olması gerekiyor.) Ürünün canlı platforma alınıncaya kadar emeği geçen herkese teşekkür etmek gerekir. Ülkemizde eticaret'in gelişmesine büyük katkı sağlayacak bir sosyal sorumluluk projesi olan Shopio, katılımcı firmaların desteği ile bir yıl boyunca ücretsiz olarak;
  • Domain
  • Hosting
  • SSL Sertifikası
  • Eticaret Yazılımı (Shopio)
  • Sanal Pos
  • Ücretsiz Teknik Destek
  • Ücretsiz Reklam Desteği (Adwords)
Detaylı bilgi almak için : 444 31 18 numaralı telefonu arayabilir ya da http://www.isinizinternette.com.tr adresini ziyaret edebilirsiniz. Basından konuyla ilgili çeşitli yazılar şöyle : http://www.ntvmsnbc.com/id/25358338/ http://www.hurriyet.com.tr/ekonomi/20761407.asp   Devamı için : isinizinternette - Shopio

12 Haziran 2012 Salı

Symfony2 Türkçe Belgeleri

Yaklaşık 1 ay önce Symfony2 yazılarıma denk gelen Sedat Kocadoğan'ın benimle iletişime geçmesiyle, Symfony2 için Türkçe dokümantasyon oluşturmak amaçlı bir avuç gönüllü insan olarak bir araya geldik. Benim çok yoğun bir dönemime rastladığı için pek katkıda bulunamasam da Osman Üngür'ün de katkılarıyla dokümantasyonun yarısı tamamlandı. Dokümantasyonaburadan ulaşabilirsiniz. Siz de katkıda bulunmak isterseniz yapmanız gerekenleri yine bu sitede bulabilirsiniz. Ben de çevirinin kalan kısımlarında destek olmaya çalışacağım. Tamamen gönüllü olarak yapılan bu proje umarım Symfony2 gibi güncel teknolojiyi içeren framework'lerin bilinirliğini arttırır ve ülkemizde üretilen yazılımların kalitesini arttırır. Devamı için : Symfony2 Türkçe Belgeleri

1 Haziran 2012 Cuma

Proje yönetimi #1 - Proje nedir?

Proje genel olarak, belirli kaynaklarla belirli bir zaman içerisinde tamamlanması gereken ve tekrarlanmayan özel faaliyetler topluluğu olarak tanımlanabilir. Proje bir açıdan Süreç, bir açıdan ise Sonuç olarak ortaya çıkmaktadır.
  • Projelerin açıçak ifade edilmiş belirli amaçları vardır .
  • Önceden belirtlimiş başlangıç ve bitiş noktaları vardır. (Süre değil)  Amaçların elde edildiği kesin bir son noktası bulunmaktadır.
  • Kendine özgü, tek ve tekrarlanmayan nitelikte olmalıdır.
  • Proje, belirli bir ürünü ortaya çıkarmak için kaynak harcanan, karmaşık bir çabadır. Paralel veya seri olarak (birbiri ardına) ilerleyen süreçleri bulunur.
  • Proje uzun süreli bir çaba gerektirir. Aylar veya yıllar sürebilir.
  • Proje nin kendi başına bir maliyeti vardır. Üretilen üründen ziyade, projeyi tamamlamak için, yoğun kaynak harcanır. En önemlisi de zamandır!
Maliyetlerinden dolayı, bir çok proje henüz yapılmadan satılmakta, veya sipariş üzerine satılmaktadır. Geliştirme aşaması daha sonraya bırakılmaktadır. Devamı için : Proje yönetimi #1 - Proje nedir?