Text dosyasının başına satır numarası ekleme.

[root@efffe ~]# cat kursad.txt 
satir 1
satir 2 
satir 3
satir 4
satir 5

gibi bir text dosyanız var ve bütün satırların başına satır numarası koymak istiyorsunuz.
Bunun için linuxte nl isimli bir komut var

[root@efffe ~]# nl kursad.txt 
     1  satir 1
     2  satir 2 
     3  satir 3
     4  satir 4
     5  satir 5

veya

[root@efffe ~]# less -N kursad.txt  
      1 satir 1
      2 satir 2 
      3 satir 3
      4 satir 4
      5 satir 5

kullanabilirsiniz.

Fakat daha özelleştirilmiş birşeyler isterseniz awk ile bunu yapabilirsiniz.

[root@efffe ~]# awk 'BEGIN{FS=",";OFS="|"} {$1=$1; print NR,$0}' kursad.txt  > satirnumarali.txt

komutunu verdiğinizde satirnumarali.txt dosyasına satır numaralı şekilde yazacaktır.

[root@efffe ~]# cat satirnumarali.txt 
1|satir 1
2|satir 2 
3|satir 3
4|satir 4
5|satir 5

Posted in Linux, Scripting on December 8th, 2011 by Kürşad DARA | | 0 Comments

Warning event on netapp1:aggr0 (Aggregate Snapshot Reserve Almost Full)

Snapshot reserve almost full dediğine göre biraz ayırdığımız alanı büyültmemiz gerekiyor.

netapp1> df -A  -g aggr0
Aggregate                total       used      avail capacity  
aggr0                    573GB      519GB       127GB      90%  
aggr0/.snapshot          73GB       61GB      12GB      84%  

Bunun için ;

netapp1> snap reserve -A aggr0 20

komutunu kullanıyoruz.

Default olarak ayrılan alan %5 Biz bu alanı %20 ye çıkartıyoruz. Yani toplam storage’ın %20 sini kullanacak.

netapp1> df -A  -g aggr0
Aggregate                total       used      avail capacity  
aggr0                    573GB      519GB       54GB      90%  
aggr0/.snapshot          143GB       61GB      82GB      42%  

Posted in Netapp, Storage Systems on November 18th, 2011 by Kürşad DARA | | 0 Comments

sudo komutu geç cevap veriyorsa

[kursad@kursad ~]$ sudo su -

komutunu girdiğinizde root olmanız çok uzun zaman alıyorsa çözümü basit.

[root@kursad ~]# hostname
kursad

komutu ile çıkan makine ismini öğrenin.

Daha sonra bu makine ismini /etc/hosts dosyasında 127.0.0.1 satırının en sonuna ekleyin.

127.0.0.1   localhost localhost.localdomain localhost4 localhost4.localdomain4 kursad
::1         localhost localhost.localdomain localhost6 localhost6.localdomain6

Şimdi tekrar tekrar normal bir kullanıcı ile sudo su – komutunu denediğinizde hemen root olacaksınız vakit almadan.

Posted in Linux on September 29th, 2011 by Kürşad DARA | | 0 Comments

Clickatell API’sini kullanarak nagios ile sms uyarısı gönderme

Bunun için öncelikle Clickatel firmasından gerekli üyeliği almalısınız.

Size verilen kullanıcı ve api bilgilerini aşağıdaki gibi /etc/nagios3/commands.cfg dosyasına yazın.

define command{
command_name host-notify-by-sms
command_line /usr/bin/printf "%b" "***** Nagios *****\n\nNotification Type: $NOTIFICATIONTYPE$\nHost: $HOSTNAME$ \nState: $HOSTSTATE$\nAddress: $HOSTADDRESS$\nInfo: $HOSTOUTPUT$\n\nDate/Time: $LONGDATETIME$\n" | wget "http:/
/api.clickatell.com/http/sendmsg?user=USERNAME&password=PASSWORD&&api_id=API_ID&to=$CONTACTEMAIL$&text='** $NOTIFICATIONTYPE$ Host Alert: $HOSTNAME$ is $HOSTSTATE$ @ $LONGDATETIME$ **'"
}

define command{
command_name service-notify-by-sms
command_line /usr/bin/printf "%b" "***** Nagios *****\n\nNotification Type: $NOTIFICATIONTYPE$\nHost: $HOSTNAME$ \nState: $HOSTSTATE$\nAddress: $HOSTADDRESS$\nInfo: $HOSTOUTPUT$\n\nDate/Time: $LONGDATETIME$\n" | wget "http:/
/api.clickatell.com/http/sendmsg?user=USERNAME&password=PASSWORD&&api_id=API_ID&to=$CONTACTEMAIL$&text='** $NOTIFICATIONTYPE$ Service Alert: $SERVICEDESC$ on $HOSTNAME$ State: $SERVICESTATE$ @ $LONGDATETIME$ **'"
}

Daha sonra /etc/nagios3/conf.d/contacts_nagios2.cfg dosyası içine aşağıdaki gibi notification komutlarını girin. ( Kırmızı renkteki satırlar )

# Kursad DARA
####################

define contact{
contact_name                    swn_kursadd_sms
alias                           Kursad DARA
service_notification_period     nonworkhours
host_notification_period        nonworkhours
service_notification_options    w,c,r
host_notification_options       d,u,r
service_notification_commands   service-notify-by-sms
host_notification_commands      host-notify-by-sms
pager                           532xxxxxxx
}

Sonrasında

/usr/sbin/nagios3 -v /etc/nagios3/nagios.cfg

komutu ile nagios konfigürasyonunuzu kontrol edip hata yapmadığınızdan emin olun. Hata varsa düzeltmeniz gerekecek.

Hata yok ise

service nagios3 restart

ile nagios servisini tekrar başlatın.

Artık herhangi bir uyarı durumunda nagios size sms ile bilgi verecektir.

Posted in Linux, Nagios on September 16th, 2011 by Kürşad DARA | | 0 Comments

Facebook uygulamanızı kullanan kullanıcıların duvarına otomatik veri yollama

Facebook uygulamalarınızı kullanan kullanıcıların duvarlarına otomatik veri yollamak için aşağıdaki kod bloğunu kullanabilirsiniz.

$attachment = array('message' => 'mesajınız',
                'name' => 'Uygulama adı',
                'caption' => "Uygulama adı",
                'link' => 'Uygulama linki',
                'description' => 'İçerik',
                'picture' => 'resim tam linki'
                );


    $result = $facebook->api('/me/feed/',
                                'post',
                                $attachment);

Not : İlgili javascriptleri ve api kodlarını da sayfanıza include etmiş olmanız gerekmektedir.

Posted in PHP, Web Development on June 14th, 2011 by Kürşad DARA | | 0 Comments

Yazdığınız PHP programlarının güvenliği için bir checklist

İncelenmesi gereken güzel bir checklist.

Güvenli mi yazdığınız programlar ?

Checklist için tıklayınız.

Posted in PHP, Web Development on May 12th, 2011 by Kürşad DARA | | 0 Comments

Facebook sayfalarda kullanıcının beğenip beğenmediğini tespit etme.

Kodunuzun en başında aşağıdaki kodu kullanırsanız kullanıcının sayfayı beğenip beğenmediğini anlayabilirsiniz.


function parsePageSignedRequest() {
    if (isset($_REQUEST['signed_request'])) {
      $encoded_sig = null;
      $payload = null;
      list($encoded_sig, $payload) = explode('.', $_REQUEST['signed_request'], 2);
      $sig = base64_decode(strtr($encoded_sig, '-_', '+/'));
      $data = json_decode(base64_decode(strtr($payload, '-_', '+/'), true));
      return $data;
    }
    return false;
  }
  if($signed_request = parsePageSignedRequest()) {
    if($signed_request->page->liked) {
      echo "Sayfayı beğendiğiniz için teşekkürler";
    } else {
      echo "Önce sayfayı beğenmeniz gerekmektedir.";
       echo("< s c r i p t > top.location.href='http://www.facebook.com/pages/blabla/198687143423423'< / s c r i p t >");
    } 
  }

Posted in PHP, Web Development on May 11th, 2011 by Kürşad DARA | | 0 Comments

jQuery $ is not defined hatası

jQuery kullanırken firefox ta firebug ile debug ederken aşağıdaki hatayı alıyorsanız çözüm basit.

$ is not defined
$(document).ready(function(){ 

Gerekli javascript dosyalarını include ederken jQuery dosyasını kendi kullandığınız javascript dosyasından sonra include etmişsinizdir o yüzden bu hatayı alıyorsunuzdur.

Yani;



şeklinde yaparsanız kuvvetle muhtemel bu hatayı alacaksınız. Ama;



şeklinde include ederseniz sorununuz düzelecektir.

Posted in JavaScript, jQuery, Web Development on May 5th, 2011 by Kürşad DARA | | 0 Comments

Bağlantı cihazına göre web sitesine otomatik yönlendirme.

Web sitenizin pc ve mobile versiyonunu yaptıysanız ve otomatik yönlendirme yapmak isterseniz aşağıdaki kodu kullanabilirsiniz.

< ?php

$mobile_browser = '0';

if(preg_match('/(up.browser|up.link|mmp|symbian|smartphone|midp|wap|phone)/i',
    strtolower($_SERVER['HTTP_USER_AGENT']))){
    $mobile_browser++;
    }

if((strpos(strtolower($_SERVER['HTTP_ACCEPT']),'application/vnd.wap.xhtml+xml')>0) or 
    ((isset($_SERVER['HTTP_X_WAP_PROFILE']) or isset($_SERVER['HTTP_PROFILE'])))){
    $mobile_browser++;
    }

$mobile_ua = strtolower(substr($_SERVER['HTTP_USER_AGENT'],0,4));
$mobile_agents = array(
    'w3c ','acs-','alav','alca','amoi','audi','avan','benq','bird','blac',
    'blaz','brew','cell','cldc','cmd-','dang','doco','eric','hipt','inno',
    'ipaq','java','jigs','kddi','keji','leno','lg-c','lg-d','lg-g','lge-',
    'maui','maxo','midp','mits','mmef','mobi','mot-','moto','mwbp','nec-',
    'newt','noki','oper','palm','pana','pant','phil','play','port','prox',
    'qwap','sage','sams','sany','sch-','sec-','send','seri','sgh-','shar',
    'sie-','siem','smal','smar','sony','sph-','symb','t-mo','teli','tim-',
    'tosh','tsm-','upg1','upsi','vk-v','voda','wap-','wapa','wapi','wapp',
    'wapr','webc','winw','winw','xda','xda-');

if(in_array($mobile_ua,$mobile_agents)){
    $mobile_browser++;
    }
if (strpos(strtolower($_SERVER['ALL_HTTP']),'OperaMini')>0) {
    $mobile_browser++;
    }
if (strpos(strtolower($_SERVER['HTTP_USER_AGENT']),'windows')>0) {
    $mobile_browser=0;
    }


if($mobile_browser>0){
   header('Location: http://siteniz/mobile_versiyonu'); 
}
  // else {
  // header('Location: http://siteniz/pc_versiyonu');
  // }
   
?>

Posted in PHP, Web Development on April 26th, 2011 by Kürşad DARA | | 0 Comments

Turkcell VINN 2.0.1.0’te DNS değiştirme

Belgelerim klasöründe VINN klasörüne girin.

Orada rasphone.pbk isimli bir dosya var onu çift tıklayıp çalıştırın.

Daha sonra kullandığınız bağlantıyı seçin ve özellikler butonuna tıklayın.

Açılan pencerede bağlantılar sekmesine gelin ve TCP/IPv4’ü seçip özellikler butonuna tıklayın.

Orada DNS ayarlarımı manual yapılandır seçeneğini seçin ve girmek istediğiniz DNS ip lerini girip kaydedip çıkın. Sonra Turkcell VINN programını kapatıp tekrar açın bağlanın ayarlarınız aktif olması gerekir.

İlgili ekran görüntüleri aşağıdadır.

Turkcell VINN

Turkcell VINN

Turkcell VINN

Turkcell VINN

Turkcell VINN

Posted in Genel on December 15th, 2010 by Kürşad DARA | | 0 Comments

« Previous PageNext Page »