Uzun bir aradan sonra tekrar notlarýma birþeyler ekleyebilecek zamaný ve imkaný bulabildim. Imkaný diyorum, çünkü sitelerimin sunucusunu deðiþtirmem ve birçok sorun yaþamam nedeniyle yazacak blog bulamadým
Yaþadýðým sorunlardan en büyüðü mysql veri tabaný ve Türkçe sorunlarýydý. Bu sorunlarýn ne þekilde aþýlacaðýný daha önce joomla için yazmama raðmen, wordpress ve SMF forum yazýlýmýyla deneyimim olmamýþtý. Bu sistemlerdeki deneyimlerimide önceki notlarýma ekledim ve umarým birilerine faydalý olur.
Yaþadýðým sorunlardan bir diðeri ise, yeni site barýndýrma hizmeti aldýðým firmanýn, sunduðu kullanýcý arayüzü cpanel deki deneyimsizliðimle ilgili. Mysql veritabanýyla ilgili sekmede, veritabanýný silmenin bu kadar basit olabileceðini düþünmemiþtim
sonuçta commodore.gen.tr veritabanýný bir anda sili verdim. Ýþin kötüsü, veritabaný yedeði almakta dikkatli davranmama karþýn, birçok siteyi taþýma problemleriyle uðraþýrken, veritabaný yedeðini almayý unutmuþtum
Herkes unutabilir… Hatalýyým biliyorum ama, benim yerime belirli aralýklarla veri tabaný yedeðini alacak bir sistem olsa fena olmaz diye düþündüm… Böyle bir sistemin varlýðýnýda biliyordum, ama o güne kadar nasýl yapacaðýma bakmamýþtým… Ýþte Linux Cron görevleri ve cpanel’de nasýl kullanýlacaðýyla ilgili bilgiler…
Cron jobs, ya da cron görevleri, belirli bir zamanda, Linux’un çalýþtýrdýðý sistem iþlevlerinden biridir. Bir baþka ifadeyle Linux, verilen periyotlarda sizin tanýmladýðýnýz bir programý görevi yerine getirebilir. Mesela her gün saat 24:00′da mysql veritabanýmýn yedeðini al ve þu klasöre koy, ya da her saat baþý veritabanýný yedekle… Örnekler çoðaltýlabilir… Ama daha önce belirttiðim gibi, benim amacým, veritabaný yedeðini benim yerime alacak bir sistem oluþturmaktý.
cpanel arayüzünde cron jobs sekmesine týkladýðýnýz zaman (6.satýr, 2.sütunda – benim kullandýðým sürümde) karþýnýza standart ve Advanced olarak iki seçenek çýkmakta. Standart iþimizi görecektir. Týklayarak giriyoruz. Karþýmýza aþaðýdakigibi bir ekran gelecektir.

Bu arayüzü iki kýsma ayýrabiliriz. Birinci kýsým “command to run” yani iþletilecek komut satýrý ve diðer kýsýmda bu iþlemin ne zaman ya da ne sýklýkta yapýlacaðýný belirten bölüm.
command to run kýsmýna mysql veri tabanýndan bir yedek almayla ilgili komutu aþaðýdaki þekilde yazabiliriz.
mysqldump -u<kullanýcýadý> -p<kullanýcýþifresi> | gzip > /absolute path/klasoradi/dosyaadi.gz
Kullanýcýadý ve þifresi mysql veritabanýndaki kullanýcý adý ve þifrenizdir. gzip, mysql veritabanýnýn sýkýþtýrýlmasýný saðlar
> iþareti bu iþlem sonucunun nereye taþýnacaðýný ifade ediyor. Sunucuda çalýþan bir komut olacaðý için, sunucu içerisindeki klasör yapýsýný yani absolute path girmelisiniz. Bu path’i barýndýrma iþlemini yapan firmadan öðrenebilirsiniz. Sonrasi size kalmýþ…
Örnek vermek gerekirse, kullanýcý adimiz gokhan, sifremiz 1234567 oldugunu varsayalim. Sunucumdaki path’in ise “/home/gokhansonmez/” olduðunu varsayalým. Bu adres sizin ftp yazýlýmýyla baðlandýðýnýzda hesabýnýzýn kökü yani root’dur. Çoðu zaman public_html klasörü altýna dosyalarýnýzý atarsýnýz ve sitenize girenler bu klasöre ulaþamazlar. Bu sayede bir güvenlikte saðlanmýþ olur. Hemen burada yeni bir klasör oluþturmanýzý ve dosyalarý oraya aktarmanýzý öneririm. mesela db_yedek…Uzun lafýn kýsasý…
mysqldump -ugokhan -p1234567 | gzip > /home/gokhansonmez/db_yedek/mysqlyedek.gz
yazmamýz yeterli olacaktýr. Bu durumda verilen kullanýcý ve þifreyle baðlanýlan mysql veritabanýndaki tablolar yedeklenir ve db_yedek klasörüne kopyalanýr.
Peki bu iþlem ne zaman? hangi sýklýkla yapýlacak?
Cron görevleri panelinde ikinci kýsýmda da bunlar belirlenir. Biraz göz gezdirince kendiliðinden ortaya çýkabileceði gibi…
Minute(s), Hour(s), Day(s), Month(s), Weekday(s) yani dakika, saat, gün, ay ve haftagünleri olarak belirlemeniz mümkün.
Minute(s) için 0, Hour(s) 0 -12AM Midnight ve diðerleri için EveryDay, EveryMonth ve EveryWeekday seçmeniz durumunda, veritabaný yedeðiniz her ay, haftanýn her günü, saat 24:00′da yedeklenir ve belirttiðiniz klasöre atýlýr.
Yukardaki sistemde eðer Hour(s) kýsmýndan EveryHour seçerseniz her saat baþý veritabaný yedeði alýnýr. Bu özellikle çok aktif forumlarda olabilir. Örnek olarak ben, Commodore.gen.tr sitesinde her 2 saatte bir yedek alýrken, pek güncellenmeyen (þimdilik), bilgisayarmuzesi.com sitesinde günde 1 kere yedek alýyorum.
Tüm bu iþlemlerden sonra sayfanýn altýnda yer alan “Save CronTab”tuþuna basarak, belirlediðiniz iþlemin cron görevi olarak kayýt edilmesini saðlarsýnýz. Hayýrlý Uðurlu olsun…
Umarým bu bilgiler birilerine faydalý olur ve hayýr dualarýný alýrýz…

1 comment
Comments feed for this article
Trackback link: http://www.gokhansonmez.com/2008/63/linux-cpanel-ve-cron-jobs-gorevleri/trackback/