Daha önceki makalemde uzun uzun openvpn kurulumunu ve eas-rsa yapılandırmasını anlatmıştım. Bu işlemleri uzun uzun uğraşmayıp, hazır bir script ile yapmak isteyenler için, centos,fedora ve debian için openvpn kurulum scriptini kullanarak kolayca openvpn, eas-rsa ayarlarını yapıp, belirlediği bir isimde ovpn dosyasını elde edebilir. Aşağıdaki komutlar ile scripti indirip, çalıştırdığınızda size birkaç soru soracaktır, # wget https://raw.githubusercontent.com/Nyr/openvpn-install/master/openvpn-install.sh # chmod +x openvpn-install.sh # ./openvpn-install.sh İlk önce OpenVPN nin dinleyeceği ip adresini belirtiyorsunuz.

Continue reading

Daha önceki yazımda screen komutu kullanımından bahsetmiştim. Screen komutunu çok kullandığım için, kapatılmamış birden fazla screen oturumu olabiliyor, çoğunluklada unutuyorum. Sunucuya her login olduğumda screen’nin açık oturumlarını görebilmek için .bash_profile dosyasına ( RedHat tabanlı sistemler için) aşağıdaki scripti ekledim. Bu sayede sunucuya ssh üzerinden her bağlandığımda açık oturumları görebiliyorum. if which screen >/dev/null; then screen -q -ls if [ $? -ge 10 ]; then screen -ls fi fi Last login: Sun Aug 30 05:45:37 2015 from 192.

Continue reading

Screen komutu, linux sunucunuza ssh bağlantısı yaptıktan sonra birden fazla shell oturumları oluşturmanızı sağlar. Screen komutu kullanarak yeni bir shell oturumu açtığınızda, screen arkada yeni bir process oluşturur, eğer siz oturumdan Ctrl + a + d kombinasyonu ile ayrılsanız (detached ) bile screen komutu arkada oturumu çalıştırmaya devam eder ve daha sonra sizin aynı oturuma bağlanmasınıza olanak sağlar. Screen komutu en çok, uzun sürecek bir scriptin terminal kapansa bile sonlanmamasını sağlamak için kullanılmaktadır.

Continue reading

Gitlab kullanıyor iseniz, gitlab sunucunuzdaki post-receive hook scriptinin içerisine, aşağıdaki python scriptini her push işleminden sonra çalıştıracak şekilde ayarlamanız durumunda, script her çalıştığında oluşturduğu commits.db sqlite database’indeki short commit’i ile karşılaştırıp, değişikli var ise aşağıdaki mail gönderim formatında maili ‘to@domain.com’ adresine gönderir. Eğer db’de bulunmayan bir repo ile karşılaşması durumunda db’ye repo’yu insert eder. #!/usr/bin/env python __author__ = "Gokhan MANKARA <gokhan@mankara.org" import gitlab import sqlite3 as sql import requests import smtplib import os import email.

Continue reading

XenServer host sunucudaki elektrik kesintisi yada benzer fiziksel sorunlar sebebiyle, storage üzerindeki sanal makineler kapanmadan bilgisayar resetlenebilir, kapanabilir veya fiziksel arıza yüzüden hiç açılmayabilir. Bu durumda ilgili host bilgisayar kapanmadan önce üzerinde çalışan sanal makineler Xencenter arayüzünde kaybolur. Haliyle sanal makineyi başka bir host bilgisayara taşımak da mümkün olmaz. Peki bu durumdan nasıl kurtulunur. Pool üzerindeki bir host bilgisayarın konsoluna bağlandıktan sonra “xe host-list” komutu işletilir. Havuzdaki host makineler listelenir. Düşen host makine tespit edilip id, sonraki komutta kullanılmak üzere alınır.

Continue reading

Script real time olarak, arguman verdiğiniz path’i ve alt klasörlerini izleyerek, yeni oluşan yada silinen dosyaları bilgilendirme maili gönderen python scripti. Cron’a ekleyerekte arka planda sürekli çalışmasını sağlayabilirsiniz. Cron kullanımı hakkında bilginiz yok ise, bu yazımı inceleyebilirsiniz. ./check_dir.py /home/gokhan/Desktop Mail içeriği, /home/gokhan/Desktop/file-5.22-1.fc22.src.rpm deleted: file-5.22-1.fc22.src.rpm #!/usr/bin/env python3.4 __author__ = 'Gokhan MANKARA <gokhan@mankara.org>' import time import sys import smtplib import socket from email.mime.multipart import MIMEMultipart from email.mime.text import MIMEText from watchdog.

Continue reading

Daha önceki yazımda kullanıcıya nasıl sudo yetkisi verilebileceğinden bahsetmiştim. Bu yazıda da sudo yetkisi verdiğiniz kullanıcının uyguladığı komutları nasıl loglayacağımıza bakacağız. Önceki yazıda sudoers dosyasına kullanıcıyı eklemiştik, bu yazıda sudoers.d altına kullanıcıları oluşturacağız. # vi /etc/sudoers.d/gokhan gokhan ALL=(ALL) NOPASSWD: LOG_INPUT: LOG_OUTPUT: ALL Defaults iolog_dir=/var/log/sudo-io/%{user} gokhan kullanıcısına şifresiz olarak sudo komutu çalıştırma yetkisi vermiş olduk. iolog_dir dizinini oluşturmamıza gerek yok, default olarak dizin oluşacaktır. sudo-io dizinine baktığınızda birden fazla dosya oluştuğunu görürsünüz.

Continue reading

Zfsonlinux kurulumunu ve yapılandırmasını önceki yazımda değinmiştim. Bu yazıda da zfs’in tüm sistemdeki boş rami kullanmaması ( yoğun olarak diske yazma işleminin gerçekleşmesi durumunda, sistem swap kullanımına geçebiliyor ) için yapılması gereken düzenlemeden bahsedeceğim. Modprobe.d altında zfs.conf adında bir dosya oluşturuyoruz. Bu conf dosyasına zfs’in kullanım parametlerini gireceğiz. Bu yazıda zfs’in kullanmasını istediğimi max ram miktarını 8Gb olarak ayarlayacağız. # vi /etc/modprobe.d/zfs.conf options zfs zfs_arc_max=8589934592 Ayarların aktif olabilmesi için sistemi yeniden başlatmamız gerekiyor.

Continue reading

Mail içerisinde gelen ekli dosyayı IMAP SSL bağlantısı sağlayarak indirdikten sonra, okundu olarak işaretleyip, okundu olarak işaretlenen maillerin deleted olarak etiketlenmesini sağlayan python scripti. #!/usr/bin/env python import email import getpass import imaplib import os detach_dir = '.' # directory where to save attachments (default: current) user = "username" pwd = "password" # connecting to the gmail imap server m = imaplib.IMAP4_SSL("mail.domain.com") m.login(user, pwd) m.select("INBOX") # here you a can choose a mail box like INBOX instead # use m.

Continue reading

Zfs, yüksek ölçeklenebilirliğe uyumlu, aşağıdaki kriterleri dikkate alarak dizayn edilmiş dosya sistemi ve mantıksal hacim yöneticidir. Veri bütünlüğü Basit depolama yönetimi Her şeyi online olarak yapabilmesi Bsd sistemlerde default olarak gelen zfs dosya sistemini, zfsonlinux kurarak linux sistemlerde de kullanma imkanı bulabiliyoruz. Zfsonlinux Kurulumu Redhat tabanlı işletim sistemi için zfsonlinux download sayfasından 6 ve 7 dağıtımları için gerekli rpm repolarını indirebilirsiniz. Bu yazıda Centos 6 için kurulum yapılacaktır.

Continue reading

Author's picture

Gökhan MANKARA

Golang, Python, Blogger, Linux Fan

Software Developer

Turkey/Istanbul