Linux ta zamanlanmış görevler CRONTAB adıyla bilinir.
(Linux sürümlerinde kullanılan internet browser için lynx kurulmalı (Pardus için adı: links))
vixie-cron zamanlanmış görevleri yapmakla yükümlüdür bazı sistemlerde vixie-cron elle çalıştırılması gerekir bunun için:
service vixie-cron start komutu çalıştırılmalıdır.
Her seferinde çalıştırmak yerine açılışta otomatik olarak çalışsın istiyorsak :
service vixie-cron on komutunu yazmamız yeterli olacaktır.
Gelelim CRONTAB ın kullanılışına
crontab -l : Kayıtlı crontab ları listeler.
crontab -e: Yeni bir crontab görevi için açılır.
crontab -d: Var olan crontab görevlerini kaldırır.
crontab -u: Kullanıcı belirlenir.
yada
/etc/ nin altındaki /cron.hourly/ /cron.daily/ /cron.weekly/ /cron.monthly/
dosyalarının altına çalışmasını istediğimiz scriptleri kopyalayabiliriz:
cp /home/www/localhost/scripts/cron-lynx.sh /etc/cron.hourly
CRONTAB ın ilk 5 parametresi
1. dakika (0-59)
2. saat (0-23)
3. gün (1-31)
4. ay (1-12 (jan,feb,mar,..))
5. günler (0-6 (mon,tue,wed,...))
Her saatin 15. dakikasında cron.php yi çalıştıran kod örneği:
15 * * * * /usr/bin/links -source http://localhost/cron.php
Cumartesi günleri saat 21:30 da çalışmasını istediğimiz willbe.sh
30 21 * *6 /usr/bin/willbe.sh weekly
Böylece zamanlanmış görev ekleyebiliyor ve yönetebiliyoruz.
13 Temmuz 2009 Pazartesi
JBoss Seam e NetBeans ile Başlangıç
Seam e başlarken yapmanız gerekenleri sırayla anlatmaya çalışacağım. İlk olarak ben Pardus 2008.2 kullanıyorum sizinde linux sürümlerinden birini kullandığınızı varsayarak anlatımımı buna göre yapacağım ancak zaten windows yada başka bir sistemdede tahmin ediyorum aynı şeyleri yapmanız gerekecek bunun için pek fark etmeyecek.
İlk olarak bilgisayarınızda sun-jdk bulunmalı java.sun.com dan indirebilirsiniz.
Uygulama geliştirme platformu olarak NetBeans 6.5 kullanıyorum onuda netbeans.org adresinden indirebilirsiniz.
JBoss AS olarak JBoss-4.2.3 JBoss Seam olarak JBoss-Seam-2.0.1.GA kullanılacak sourceforge.net
Seam e plugin olarak seam ve facelets için facelets pluginlerini indirmeniz gerekecek.
Başlangıç olarak NetBeans ve jdk yı kurmuş olduğunuzu varsayarak işlemlere başlıyorum.
İlk olarak indirmiş olduğumuz pluginleri NetBeans-->tools-->plugins e girerek add plugin butonunu tıklayarak ekliyoruz ve kuruyoruz.
Gelelim projemizi oluşturmaya;
NetBeans -->NewProject-->SeamGenerator
JBoss Server ın ve JBoss Seam in yerini belirterek projemizi oluşturuyoruz.
Sisteminizdeki veritabanlarından birini seçip yada kendi veritabanınızı oluşturarak yolunuza devam etmelisiniz (Not: Veritabanlarının connect durumda olmalarına dikkat edin).
İşte ilk projenizi başarıyla oluşturdunuz.
Şimdi projemize birkaç özellik ekleyelim;
Eğer tek bir istemciyle değilde birden çok istemcinin bir sunucu yardımıyla bağlantı oluşturmasını istiyorsanız
build.xml e şu eklemeyi yapmanız gerekiyor.
< name="startdb">
< fork="true" classname="org.hsqldb.Server" classpathref="build.classpath">
< /target>
Projemiz artık çalışabilir vaziyete geldi.
İlk olarak projemizi sağ menü ile tıklayarak deploy etmemiz gerekli sonrada services-->servers-->JBoss AS sağ menü tıklanarak start edilir.
Artık projemiz çalışabilir oldu
http://localhost:8080/projemiz/home.seam/
Eğer sizde benim gibi javax.servlet.ServletException with message: "Illegal group reference" hatasını alıyorsanız yapmanız gereken şey web.xml dosyanıza birkaç yeni şey eklemek olacaktır. (Bu değişiklikleri yapmak 3 saatimi aldı.)
Ben ekleme yaptığım web.xml dosyasının son halini yazıyorum sizde kendinizinkini buna göre değiştirebilirsiniz.
< ?xml version="1.0" ?>
< xmlns="http://java.sun.com/xml/ns/javaee" xsi="http://www.w3.org/2001/XMLSchema-instance" schemalocation="http://java.sun.com/xml/ns/javaee http://java.sun.com/xml/ns/javaee/web-app_2_5.xsd" version="2.5">
< !-- RichFaces -->
<>
<>org.richfaces.SKIN< /param-name>
<>blueSky< /param-value>
< /context-param>
< !-- Suppress spurious stylesheets -->
<>
<>org.richfaces.CONTROL_SKINNING< /param-name>
<>disable< /param-value>
< /context-param>
<>
<>org.richfaces.CONTROL_SKINNING_CLASSES< /param-name>
<>disable< /param-value>
< /context-param>
< !-- Change load strategy to DEFAULT to disable sending scripts/styles as packs -->
<>
<>org.richfaces.LoadStyleStrategy< /param-name>
<>ALL< /param-value>
< /context-param>
<>
<>org.richfaces.LoadScriptStrategy< /param-name>
<>ALL< /param-value>
< /context-param>
< !-- Seam -->
<>
<>org.jboss.seam.servlet.SeamListener< /listener-class>
< /listener>
<>
<>Seam Filter< /filter-name>
<>org.jboss.seam.servlet.SeamFilter< /filter-class>
< /filter>
<>
<>Seam Filter< /filter-name>
<>/*< /url-pattern>
< /filter-mapping>
<>
<>Seam Resource Servlet< /servlet-name>
<>org.jboss.seam.servlet.SeamResourceServlet< /servlet-class>
< /servlet>
<>
<>Seam Resource Servlet< /servlet-name>
<>/seam/resource/*< /url-pattern>
< /servlet-mapping>
< !-- Facelets development mode (disable in production) -->
<>
<>facelets.DEVELOPMENT< /param-name>
<>true< /param-value>
< /context-param>
< !-- Custom Facelets Tags -->
<>
<>facelets.LIBRARIES< /param-name>
<>/WEB-INF/utech.taglib.xml< /param-value>
< /context-param>
< !-- JSF -->
<>
<>javax.faces.DEFAULT_SUFFIX< /param-name>
<>.xhtml< /param-value>
< /context-param>
<>
<>Faces Servlet< /servlet-name>
<>javax.faces.webapp.FacesServlet< /servlet-class>
<>1< /load-on-startup>
< /servlet>
<>
<>Faces Servlet< /servlet-name>
<>*.seam< /url-pattern>
< /servlet-mapping>
<>
<>Restrict raw XHTML Documents< /display-name>
<>
<>XHTML< /web-resource-name>
<>*.xhtml< /url-pattern>
< /web-resource-collection>
<>
< /security-constraint>
< /web-app>
Bugünlük bu kadar yeterli
İlk olarak bilgisayarınızda sun-jdk bulunmalı java.sun.com dan indirebilirsiniz.
Uygulama geliştirme platformu olarak NetBeans 6.5 kullanıyorum onuda netbeans.org adresinden indirebilirsiniz.
JBoss AS olarak JBoss-4.2.3 JBoss Seam olarak JBoss-Seam-2.0.1.GA kullanılacak sourceforge.net
Seam e plugin olarak seam ve facelets için facelets pluginlerini indirmeniz gerekecek.
Başlangıç olarak NetBeans ve jdk yı kurmuş olduğunuzu varsayarak işlemlere başlıyorum.
İlk olarak indirmiş olduğumuz pluginleri NetBeans-->tools-->plugins e girerek add plugin butonunu tıklayarak ekliyoruz ve kuruyoruz.
Gelelim projemizi oluşturmaya;
NetBeans -->NewProject-->SeamGenerator
JBoss Server ın ve JBoss Seam in yerini belirterek projemizi oluşturuyoruz.
Sisteminizdeki veritabanlarından birini seçip yada kendi veritabanınızı oluşturarak yolunuza devam etmelisiniz (Not: Veritabanlarının connect durumda olmalarına dikkat edin).
İşte ilk projenizi başarıyla oluşturdunuz.
Şimdi projemize birkaç özellik ekleyelim;
Eğer tek bir istemciyle değilde birden çok istemcinin bir sunucu yardımıyla bağlantı oluşturmasını istiyorsanız
build.xml e şu eklemeyi yapmanız gerekiyor.
< fork="true" classname="org.hsqldb.Server" classpathref="build.classpath">
< /target>
Projemiz artık çalışabilir vaziyete geldi.
İlk olarak projemizi sağ menü ile tıklayarak deploy etmemiz gerekli sonrada services-->servers-->JBoss AS sağ menü tıklanarak start edilir.
Artık projemiz çalışabilir oldu
http://localhost:8080/projemiz/home.seam/
Eğer sizde benim gibi javax.servlet.ServletException with message: "Illegal group reference" hatasını alıyorsanız yapmanız gereken şey web.xml dosyanıza birkaç yeni şey eklemek olacaktır. (Bu değişiklikleri yapmak 3 saatimi aldı.)
Ben ekleme yaptığım web.xml dosyasının son halini yazıyorum sizde kendinizinkini buna göre değiştirebilirsiniz.
< ?xml version="1.0" ?>
< xmlns="http://java.sun.com/xml/ns/javaee" xsi="http://www.w3.org/2001/XMLSchema-instance" schemalocation="http://java.sun.com/xml/ns/javaee http://java.sun.com/xml/ns/javaee/web-app_2_5.xsd" version="2.5">
< !-- RichFaces -->
<>
<>org.richfaces.SKIN< /param-name>
<>blueSky< /param-value>
< /context-param>
< !-- Suppress spurious stylesheets -->
<>
<>org.richfaces.CONTROL_SKINNING< /param-name>
<>disable< /param-value>
< /context-param>
<>
<>org.richfaces.CONTROL_SKINNING_CLASSES< /param-name>
<>disable< /param-value>
< /context-param>
< !-- Change load strategy to DEFAULT to disable sending scripts/styles as packs -->
<>
<>org.richfaces.LoadStyleStrategy< /param-name>
<>ALL< /param-value>
< /context-param>
<>
<>org.richfaces.LoadScriptStrategy< /param-name>
<>ALL< /param-value>
< /context-param>
< !-- Seam -->
<>
<>org.jboss.seam.servlet.SeamListener< /listener-class>
< /listener>
<>
<>Seam Filter< /filter-name>
<>org.jboss.seam.servlet.SeamFilter< /filter-class>
< /filter>
<>
<>Seam Filter< /filter-name>
<>/*< /url-pattern>
< /filter-mapping>
<>
<>Seam Resource Servlet< /servlet-name>
<>org.jboss.seam.servlet.SeamResourceServlet< /servlet-class>
< /servlet>
<>
<>Seam Resource Servlet< /servlet-name>
<>/seam/resource/*< /url-pattern>
< /servlet-mapping>
< !-- Facelets development mode (disable in production) -->
<>
<>facelets.DEVELOPMENT< /param-name>
<>true< /param-value>
< /context-param>
< !-- Custom Facelets Tags -->
<>
<>facelets.LIBRARIES< /param-name>
<>/WEB-INF/utech.taglib.xml< /param-value>
< /context-param>
< !-- JSF -->
<>
<>javax.faces.DEFAULT_SUFFIX< /param-name>
<>.xhtml< /param-value>
< /context-param>
<>
<>Faces Servlet< /servlet-name>
<>javax.faces.webapp.FacesServlet< /servlet-class>
<>1< /load-on-startup>
< /servlet>
<>
<>Faces Servlet< /servlet-name>
<>*.seam< /url-pattern>
< /servlet-mapping>
<>
<>Restrict raw XHTML Documents< /display-name>
<>
<>XHTML< /web-resource-name>
<>*.xhtml< /url-pattern>
< /web-resource-collection>
<>
< /security-constraint>
< /web-app>
Bugünlük bu kadar yeterli
25 Haziran 2009 Perşembe
İlk Yazı
Merhabalar ilk yazımda eğlenceli bişeyler olsun istedim. Bu yüzden son günlerde yaptığım gündelik işlerden bahsedeyim dedim. Staj için bulunduğum Uygun Teknoloji Beşiktaş ta bense Yalova da oturuyorum. Bu sebepten şimdilik anneannemin yanında takılıyorum hergün metrobüse binip 2 saat yol gidiyor ve 2 saatte geliyor olmamı bir yana koyarsak genel anlamda güzel vakit geçiriyorum burda. Özellikle Volkan Uygun la gayet iyi anlaştığımı söylesem hiçte yalan söylemiş olmam. Mesela dün yapmaya çalıştığım bikaç dakikalık bir iş vardı kendisi bana işin nasıl yapılacağını gösterdikten sonra kendi çalışma odasına gitti ben nasıl yapacağımı anladım yapmaya çalışıyorum ama saçma bi hata alıyorum nedeninide bilmiyorum dedim Volkan abi ben bişeler yaptım ama çalışması lazım çalışmıyo hemen yardıma geldi, yaptığım mantık doğruydu ama neden çalışmıyordu? Biraz bakındıktan sonra bi fonksiyonun parametrelerini yanlış tanımladığımı anladı:)))) ve sorun çözüldü.
Evden bahsedeyim biraz anneannemin beni yola getirmeye çalışmasını saymazsak (düzgün uyu, hep bilgisayarın başında durma, yemekte ne varsa ye seçme, bak el alem hep dışarda sen niye hep evdesin ...) evde gayet iyiyim aslında. Öyle işte ilk yazı bayaa uzadı bu blog u eğlence için açtım umarım eğlenirim.
Evden bahsedeyim biraz anneannemin beni yola getirmeye çalışmasını saymazsak (düzgün uyu, hep bilgisayarın başında durma, yemekte ne varsa ye seçme, bak el alem hep dışarda sen niye hep evdesin ...) evde gayet iyiyim aslında. Öyle işte ilk yazı bayaa uzadı bu blog u eğlence için açtım umarım eğlenirim.
Kaydol:
Kayıtlar (Atom)