<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:wfw="http://wellformedweb.org/CommentAPI/"
	xmlns:dc="http://purl.org/dc/elements/1.1/"
	xmlns:atom="http://www.w3.org/2005/Atom"
	xmlns:sy="http://purl.org/rss/1.0/modules/syndication/"
	xmlns:slash="http://purl.org/rss/1.0/modules/slash/"
	>

<channel>
	<title>Hakan Müştak &#187; server</title>
	<atom:link href="http://mustak.org/tag/server/feed/" rel="self" type="application/rss+xml" />
	<link>http://mustak.org</link>
	<description>Kişisel Paylaşım Blogu</description>
	<lastBuildDate>Thu, 22 Mar 2012 05:16:10 +0000</lastBuildDate>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=3.3.2</generator>
		<item>
		<title>MaqaSQLDumper V2 &#8211; MySQL ve Web Dizini yedekleme aracı</title>
		<link>http://mustak.org/maqasqldumper-v2-mysql-ve-web-dizini-yedekleme-araci/</link>
		<comments>http://mustak.org/maqasqldumper-v2-mysql-ve-web-dizini-yedekleme-araci/#comments</comments>
		<pubDate>Sun, 11 Mar 2012 11:35:59 +0000</pubDate>
		<dc:creator>hmustak</dc:creator>
				<category><![CDATA[Linux]]></category>
		<category><![CDATA[Makale]]></category>
		<category><![CDATA[MySQL]]></category>
		<category><![CDATA[Python]]></category>
		<category><![CDATA[Ubuntu]]></category>
		<category><![CDATA[Uygulama]]></category>
		<category><![CDATA[backup tools]]></category>
		<category><![CDATA[dump]]></category>
		<category><![CDATA[linux]]></category>
		<category><![CDATA[mysql]]></category>
		<category><![CDATA[mysqldump]]></category>
		<category><![CDATA[python]]></category>
		<category><![CDATA[server]]></category>
		<category><![CDATA[ubuntu]]></category>
		<category><![CDATA[yedekleme aracı]]></category>

		<guid isPermaLink="false">http://mustak.org/?p=277</guid>
		<description><![CDATA[Geçen hafta içinde serverını baştan kurmak zorunda olan ve siteleri yayınlanan bir arkadaşıma (bizim sitelerde kendisinde) alelacele bir backup scripti yazmış ve blogumdan BURADA yayınlamıştım. Python uzmanı olmadığımı ve hobi için uğraştığımı başta belirtmeliyim sanırım. 8-10 civarı kaydadeğer eleştri maili ; 2 adette direkt yorum aldım. Bu eleştriler üzerine, dün akşamüstü oturup daha önce  yarım-yamalak [...]]]></description>
			<content:encoded><![CDATA[<p><a href="http://mustak.org/wp-content/uploads/2012/02/Python_hmustak.png"><img class="alignleft  wp-image-79" style="border-style: initial; border-color: initial; border-image: initial; margin-top: 1px; margin-bottom: 1px; margin-left: 10px; margin-right: 10px; border-width: 0px;" title="Python MaqaSQLDumper V2" src="http://mustak.org/wp-content/uploads/2012/02/Python_hmustak.png" alt="" width="62" height="62" /></a>Geçen hafta içinde serverını baştan kurmak zorunda olan ve siteleri yayınlanan bir arkadaşıma (bizim sitelerde kendisinde) alelacele bir backup scripti yazmış ve blogumdan <a href="http://mustak.org/python-mysql-uzerinde-tum-databaselerimizi-yedekleyelim/" target="_blank">BURADA</a> yayınlamıştım. Python uzmanı olmadığımı ve hobi için uğraştığımı başta belirtmeliyim sanırım. 8-10 civarı kaydadeğer eleştri maili ; 2 adette direkt yorum aldım. Bu eleştriler üzerine, dün akşamüstü oturup daha önce  yarım-yamalak hazırladığım uygulamamın 2.versiyonuna çalıştım.</p>
<p><span id="more-277"></span></p>
<p>Uygulamayı github&#8217;a koymayı çok pratik bulmuyorum nedense. Türk Python&#8217;cularının toplanma alanı olarak gördüğüm <a href="http://www.istihza.com/forum/viewtopic.php?f=25&amp;t=716" target="_blank">istihza</a> üzerinde kodlarımı paylaşarak, usta pythoncuların eleştirmesini de istedim. MaqaSQLDumper V3 &#8216;ü de gelecek bu eleştriler doğrultusunda hazırlamayı düşünüyorum</p>
<p>Artık uygulamamıza geçelim.</p>
<h3>Uygulamanın adı nereden geliyor?</h3>
<p>Uygulamanın adı konu başlığında da belirttiğim gibi <span style="color: #800000;">MaqaSQLDumper V2.1</span>. Bu isim nereden geliyor;<br />
<span style="color: #800000;">Maqas</span> bildiğiniz gibi bizim gnu uygulamalar geliştirmeye çalıştığımız sosyal yazılım grubumuz (bkz <a title="MaqasNet" href="http://maqas.net" target="_blank">Maqas.Net</a>) . Çok değerli yazılımcıların bulunduğu harika bir grup.<br />
<span style="color: #800000;">SQL</span> tüm yapısal sorgulama dili üzerinde çalıştığımız izlenimini verse de uygulama şuanda sadece MySQL&#8217;i destekliyor, bunu ifade ediyor.<br />
<span style="color: #800000;">Dumper</span>; MySQLDump&#8217;tan geliyor. Dump edici olarak yorumlanabilir.</p>
<h3>MaqaSQLDumper V2 ne yapar?</h3>
<ul>
<li>Web sunucunuz üzerindeki tüm veritabalarını sıkıştırarak göstereceğiniz yere yedekler. (MySQLDump)</li>
<li>Ana web dizininizi sıkıştırarak göstereceğiniz yere yedekler.</li>
<li>Kullanıcının belirteceği gün limitinden önceki yedekleri otomatik siler.</li>
<li>Gmail adresinize bilgilendirme maili atar.</li>
<li>Son durumu / Yapılanları ekrana basar.</li>
</ul>
<p>Birçok web developerın, server yöneticisinin, benim gibi home-developer&#8217;ların zaman zaman yedek alması gerektiği su götürmez bir gerçektir. Bu uygulamayı Linux altında cron&#8217;a, windows altında (test etmedim, çalışılması gerek) Zamanlanmış Görevler&#8217;e eklenirse istenen frekansta yedekleri alıp, belirtilen tarihten eski yedekleri de kendisi siler. Ve hepsini script başında basitce ayarlayabilir.</p>
<h3>Neden GUI değil?</h3>
<p>Aslında gelen eleştri maillerinde de bu konu dikkatimi çekti. Tabii ki GUI olması daha basit bir uygulama yönetimi sağlayacaktı. Fakat şuda bir gerçek ki, neredeyse tüm server yöneticileri, panel harici kurma/kaldırma/ayarlama işlerini;  ssh üzerinden serverına bağlanır ve ssh üzerinden yapar. Terminal (yada putty) üzerinde çalışacak uygulamanın GUI desteklemesi bana pek mantıklı gelmedi. MaqaSQLDumper&#8217;ın cross-platform ve GUI versiyonunu da yakında hazırlayacağım.</p>
<h3>Uygulamanın hazırlandığı bileşenler nelerdir?</h3>
<p>Linux 3.0.0-16-generic-pae #29-Ubuntu SMP Tue Feb 14 13:56:31 UTC 2012 i686 i686 i386 GNU/Linux<br />
Python 2.7.2+ (default, Oct 4 2011, 20:03:08) - [GCC 4.6.1] on linux2<br />
pyCharm 2.0.2</p>
<h3>Uygulamanın ekran görüntüleri</h3>
<p>Çalışma zamanı ekran görüntüsü ;</p>
<p style="text-align: center;"><img class="size-full wp-image-279 aligncenter" style="border-image: initial; margin-top: 5px; margin-bottom: 5px; border-width: 1px; border-color: black; border-style: solid;" title="MaqaSQLDumperV2 Çalışma Ekranı" src="http://mustak.org/wp-content/uploads/2012/03/MaqaSQLDumperV2_2.png" alt="" width="569" height="354" /></p>
<p style="text-align: left;">Bilgilendirme maili ekran görüntüsü;</p>
<p style="text-align: center;"><a href="http://mustak.org/wp-content/uploads/2012/03/MaqaSQLDumperV2_1.png"><img class="size-full wp-image-278 aligncenter" style="border-image: initial; margin-top: 5px; margin-bottom: 5px; border-width: 1px; border-color: black; border-style: solid;" title="MaqaSQLDumperV2_1" src="http://mustak.org/wp-content/uploads/2012/03/MaqaSQLDumperV2_1.png" alt="" width="473" height="267" /></a></p>
<h3>Nerden indirip deneyebiliriz?</h3>
<p>Link : <a href="http://mustak.org/work_dir/maqasqldumper/MaqaSQLDumper_V2.zip" target="_blank">http://mustak.org/work_dir/maqasqldumper/MaqaSQLDumper_V2.zip<br />
</a>Sisteminizde bulunmayan, eksik kütüphane sorunu olursa (ki sanmıyorum), mail yoluyla iletişime geçebilirsiniz.</p>
<h3>Pythoncular için tartışma alanı</h3>
<p><a href="http://www.istihza.com/forum/viewtopic.php?f=25&amp;t=716" target="_blank">http://www.istihza.com/forum/viewtopic.php?f=25&amp;t=716</a></p>
<h3>Kodlar</h3>
<p>Tavsiyem uygulama kodlarını üstteki linkten indirmeniz, aşağıdaki kodları ise sadece inceleme için kullanmanız. Malum ki python sözdizimi konusunda hassastır. Copy/Paste ile ciddi yerimi sıkıntısı olacağı için çalıştırma sorunları yaşanabilir, derlemeden önce üzerinde ciddi zaman harcayabilirsiniz.</p>
<pre class="brush: python; title: ; notranslate">#!/usr/bin/env python
#-*- coding: utf-8 -*-

# MaqaSQLDumper V2.1
# @author: Hakan Mustak
# @mail: hmustak@gmail.com @web: http://www.mustak.org
# Revised on 14/03/2012
# Created on 10/03/2012

#Betik içinde İhtiyaç duyduğumuz paketleri ekliyoruz
import os, time, MySQLdb, tarfile, shutil, smtplib
from os.path import getsize
from email.MIMEMultipart import MIMEMultipart
from email.MIMEBase import MIMEBase
from email.MIMEText import MIMEText

#AYARLAR - (Kullanıcı tarafından değiştirilebilir ayarlar)
#---------------------------------------------------------------------------
#MySQL kurulu bilgisayar
dbserver = &quot;localhost&quot;
#MySQL kullanıcı adı
dbUser = &quot;root&quot;
#MySQL şifresi
dbPasswd = &quot;DATABASE_PASSWORD_HERE&quot;
#MySQL Backup Yolumuz
yedekYolu = &quot;/home/redshark/Backup/&quot;
#Web dizini Yolumu
webYolu = r&quot;/var/www/&quot;
#Eski dosta silinme Limit Gün sayısı
limit = 10
#Mail Bilgileri
mailUser = &quot;hmustak@gmail.com&quot;
mailPasswd = &quot;GMAIL_PASSWORD_HERE&quot;
mailFrom = &quot;hakan@mustak.org&quot;
mailTo = &quot;hmustak@gmail.com&quot;
#----------------------------------------------------------------------------

# Kullanıcı tarafından değiştirilmesi ÖNERİLMEYEN ayarlar
#---------------------------------------------------------------------------
#Tarih-Saat bilgisi
zaman = time.strftime(&quot;%Y-%m-%d-%H-%M&quot;)
#DB yedekyolu
dbYedekYolu = r&quot;%smysql/%s/&quot; % (yedekYolu, time.strftime(&quot;%Y-%m-%d&quot;))
#WebDizini Backup Yolumu
webYedekYolu = r&quot;%sweb/%s/&quot; % (yedekYolu,time.strftime(&quot;%Y-%m-%d&quot;))
#Database isimlerini koyacağımız liste
dbListe = []
#Database dosyalarımızın boyutları
bilgiBoyut = []
#Silinen dizin-dizinler
silinenDizin = []
#---------------------------------------------------------------------------

#DB isimlerini listelere yerleştiriyoruz
def dbListeOlustur():
 #Bilgilendirmeyi yapalım
 print &quot; =&gt; Veritabanı bağlantısı sağlanıyor&quot;
 # Database bağlantısını yapıyoruz
 dataCon = MySQLdb.connect(dbserver,dbUser,dbPasswd)
 # Nesnemizi oluşturuyoruz
 dbNesne = dataCon.cursor()
 # Databaselerimizi çekelim
 dbNesne.execute(&quot;show databases&quot;)

# Ve Databaselerimizi yedekleyelim
 for database in dbNesne.fetchall():
 #Yedeklenmesini istemediğimiz VT'leri hariç bırakalım
 if (database[0]!=&quot;information_schema&quot;)and(database[0]!=&quot;mysql&quot;):
 #Yedek hazırlayan fonksiyonumuzu çağırıyoruz
 dbListe.append(database[0])

#DB lerimizi sıkıştırıp Dump ediyoruz
def dbYedekle():
 #Bilgilendirmeyi yapalım
 print &quot; =&gt; SQL Yedek dosyaları oluşturuluyor&quot;
 #Veritabanı listesini çekiyoruz
 for liste in dbListe:
 #Dosya adını oluşturuyoruz
 dbYedekDosya = r&quot;%s_%s_SQL_backup.sql&quot; % (zaman,liste)
 #MysqlDump komutumuzu işleterek sql dosyamızı oluşturuyoruz
 os.system(&quot;mysqldump -u%s -p%s %s &gt; %s%s&quot; % (dbUser, dbPasswd, liste, dbYedekYolu, dbYedekDosya))
 #Oluşturduğumuz sql dosyamızı sıkıştırıyoruz
 os.system(&quot;gzip -9 %s%s&quot; % (dbYedekYolu, dbYedekDosya))

#Yedeklenecek DB'leri gösterir
def dbListeGoster():
 #Bilgilendirmeyi yapalım
 print &quot;*** Veritabanları yedeklendi&quot;
 #Dosya ölçü ve isimlerini çekelim
 for dosya in os.listdir(dbYedekYolu):
 #dosya ve yolunu bir değişkene atamalıyız(daha okunur oluyor)
 yol = r&quot;%s%s&quot; % (dbYedekYolu,dosya)
 #sonuçları listemize ekliyoruz
 bilgiBoyut.append(&quot;[vt][%s kb] %s&quot; % (round((getsize(yol)/1024.0),2) ,dosya))

#Yedeklenecek web ana dizinini burada sıkıştırıp yedekliyoruz
def dizinYedekle(source, target):
 #yedek dosyamızın adını oluşturuyoruz
 dosyaYol = &quot;%s%s%s&quot;%(target,zaman,&quot;.tar.gz&quot;)
 #Klasör sıkıştırmak için tar modülünü kullanıyoruz
 tar = tarfile.open(dosyaYol, &quot;w:gz&quot;)
 #Üstte oluşturduğumuz dosyaya aşağıdaki adresi ekliyoruz
 tar.add(source)
 #İşimiz bitince ışıkları söndürelim/uygulamaları kapatalım
 tar.close()
 #yedeklenen dizinlerin bilgilerini daha sonra kullanmak üzere listeye ekliyoruz
 bilgiBoyut.append(&quot;[dizin][%s mb] %s&quot; % (round(((getsize(dosyaYol)/1024.0)/1024),2) ,dosyaYol))
 #Uygulama ne aşamada kullanıcıya bilgi verelim
 print &quot;*** Web dizini yedeklendi&quot;

#Belli bir süre sonunda ihtiyacı biten yedekleri silmeliyiz
def eskiDizinSil(sil,tip):
 #Yedeğin silineceği dizindeki klasörleri listeliyoruz
 for dizin in os.listdir(sil):
 #silinen dosyaadını taşıyacağımız değişken
 silinenTip=&quot;&quot;
 #limit gün sayısından toplam saniyeyi hesaplıyoruz
 limitSN = limit * 86400
 #Silme aşamasında hata oluşabiliyor, oluşursa devam edelim
 try:
 #Dizinin ömrü verilen limitten fazla ise (default:10gün)
 if (os.stat(sil+dizin).st_ctime &lt; (time.time()-limitSN)):
 #Silme bilgisi için kayıt oluşturuyoruz
 silinenTip = &quot;[%s] %s&quot;%(tip,dizin)
 #silme bilgisini kayıt listesine ekliyoruz
 silinenDizin.append(silinenTip)
 #Dizini tüm alt dizin ve dosyaları ile birlikte silitoruz
 shutil.rmtree(sil+dizin)
 except :
 #Hata varsa, devam et
 pass

def bilgi():
 #Mail gönderilecek gövde
 metin = &quot;&quot; + &quot;\n\n&quot;
 metin = metin + &quot;Yedeklenen Dosyalar ve büyüklükleri&quot; + &quot;\n&quot;
 metin = metin + &quot;----------------------------------------------------------------------&quot; + &quot;\n&quot;
 #Yedekleme bilgileri hazırlanıyor
 for liste in bilgiBoyut:
 metin = metin + liste + &quot;\n&quot;
 metin = metin + &quot;----------------------------------------------------------------------&quot; + &quot;\n\n&quot;
 metin = metin + &quot;Silinen Dizinler&quot; + &quot;\n&quot;
 metin = metin + &quot;----------------------------------------------------------------------&quot; + &quot;\n&quot;
 #Silme bilgileri hazırlanıyor
 for dizin in silinenDizin:
 metin = metin + dizin + &quot;\n&quot;
 metin = metin + &quot;----------------------------------------------------------------------&quot; + &quot;\n\n&quot;

#MIMEMultipartı hazırlamaya başlıyoruz
 posta = MIMEMultipart()
 posta['Subject'] = &quot;%s : Günlük Yedekleme Tamamlanmıştır&quot; % (zaman)
 posta['From'] = mailFrom
 posta['To'] = mailTo
 mesaj = metin
 posta.attach(MIMEText(mesaj))

#Mail göndermek üzere gmaile bağlanıyoruz (Günlük limit 500)
 smtpserver = smtplib.SMTP(&quot;smtp.gmail.com&quot;,587)
 smtpserver.ehlo()
 smtpserver.starttls()
 smtpserver.ehlo
 smtpserver.login(mailUser, mailPasswd)
 smtpserver.sendmail(mailUser, mailTo, posta.as_string())
 smtpserver.close()

#Mail gönderdikten sonra sonuçları ekrana basalım
 print &quot;\n&quot;
 print &quot;Yedeklenen Dosyalar ve büyüklükleri&quot;
 print &quot;--------------------------------------------------------------------&quot;
 #Bilgi Listemizi gösterelim
 for liste in bilgiBoyut:
 print liste
 print &quot;--------------------------------------------------------------------\n&quot;
 print &quot;Silinen Dizinler&quot;
 print &quot;--------------------------------------------------------------------&quot;
 #Bilgi Listemizi gösterelim
 for dizin in silinenDizin:
 print dizin
 print &quot;--------------------------------------------------------------------\n&quot;
 print &quot;Bilgilendirme maili gönderilmiştir : %s&quot; % (mailUser)
 print &quot;\n&quot;

#Dizin oluşturma fonksiyonumuz
def dizinOlustur(dizin):
 os.mkdir(dizin)

# Backup altındaki base yedek dizinimizi oluşturalım
if os.path.isdir(yedekYolu+&quot;mysql/&quot;) == False:
 dizinOlustur(yedekYolu+&quot;mysql/&quot;)
if os.path.isdir(yedekYolu+&quot;web/&quot;) == False:
 dizinOlustur(yedekYolu+&quot;web/&quot;)

#Günlük yedekleme yapılmış mı? Kontrol ve yedekleme alanımız
if os.path.isdir(dbYedekYolu) == False:
 #Veritabanı ve Web dizini için yedeklenecek dizini oluşturalım
 dizinOlustur(dbYedekYolu)
 dizinOlustur(webYedekYolu)

#Veritabanı yedekleme işlemleri
 dbListeOlustur()
 dbYedekle()
 dbListeGoster()

#Web dizini yedekleme işlemleri
 dizinYedekle(webYolu,webYedekYolu)

#Eski dizinleri silme vakti
 eskiDizinSil(yedekYolu+&quot;mysql/&quot;,&quot;vt&quot;)
 eskiDizinSil(yedekYolu+&quot;web/&quot;,&quot;web&quot;)

#Yedekleme sonuç gösterme/gönderme bilgileri
 bilgi()

else:
 print &quot;Bugün (%s) yedeğiniz alınmış gözüküyor&quot; % (time.strftime(&quot;%d-%m-%Y&quot;))</pre>
<p>coşmak üzere&#8230;<br />
Hakan Müştak</p>
<h2  class="related_post_title"><br><br>Okumanızı önerdiğim benzer yayınlarım;</h2><ul class="related_post"><li><a href="http://mustak.org/python-mysql-uzerinde-tum-databaselerimizi-yedekleyelim/" title="[Python] Mysql üzerinde tüm databaselerimizi yedekleyelim">[Python] Mysql üzerinde tüm databaselerimizi yedekleyelim</a><br /><small>Akşam uyuma hazırlığı yaparken, sitelerimin ev sahipliğini yapan arkadaşım daha önce yazdığım veritabanı yedekleme ile ilgili yazımın yetersizliğinden bahsedince uykum kaçtı. Haklıydı, o günün ihtiyac...</small></li><li><a href="http://mustak.org/pythonla-mysql-yedegi-alip-mail-atalim/" title="Pythonla MySql yedeği alıp mail atalım">Pythonla MySql yedeği alıp mail atalım</a><br /><small>Konumuz Pythonun faydalarından en üst seviyede faydalanmak! Zaman zaman birçok kişinin ihtiyaç duyduğu, aradığı ve sıkıntılar yaşadığı bir konu; "Düzenli Yedek Almak". Bir çok server yada site yönetic...</small></li><li><a href="http://mustak.org/sudonun-patenti-microsoftta/" title="SUDO&#8217;nun patenti Microsoft&#8217;ta ! ">SUDO&#8217;nun patenti Microsoft&#8217;ta ! </a><br /><small>Az önce SUDO dergisinde okuduğum bir haberle irkildim. Microsoft; Ubuntu, Pardus ve Linux Mint de dahil olmak üzere debian Linux dağıtımlarında ve Unix benzeri sistemde kullanılan Sudo komutunun çalış...</small></li><li><a href="http://mustak.org/scp-secure-copy-ile-dosya-transferi/" title="SCP &#8211; Secure Copy ile dosya transferi">SCP &#8211; Secure Copy ile dosya transferi</a><br /><small>O kadar görsel arayüz (gui) ile çalışmaya alıştık ki son dönemde, gerçekten belli kriz anlarında zorlanabiliyoruz. Az önce Grafik Desktop'tan SSH'a düşüp bu sıkıntıyla yüzleşince biranda afalladım. Bu...</small></li><li><a href="http://mustak.org/isletim-sistemi-iadesi/" title="İşletim sistemi iadesi">İşletim sistemi iadesi</a><br /><small>

Notebook alırken benimde yaşadığım bir sorundu bu. İnsanın basireti bağlanıyor denir ya, sanki mecburmuşuz gibi Microsoft ürünlerine kuzu kuzu kabullenip kaderimizi evin yolunu tutmuştuk. İlk haft...</small></li><li><a href="http://mustak.org/unity-lensleri/" title="Unity Lensleri">Unity Lensleri</a><br /><small> Dürüst olmalıyım ki Unity'e alışmam kolay olmadı. Yıllarca gnome kullandıktan sonra alışkanlıkları kolay kolay kıramıyor insan. Biraz ısrarcı olup (sevgili Redial'ında baskısıyla) Mint'e geçmeyerek s...</small></li><li><a href="http://mustak.org/ubuntu-linux-altinda-dns-ayarlamak/" title="Ubuntu / Linux altında DNS ayarlamak">Ubuntu / Linux altında DNS ayarlamak</a><br /><small>Blogu genel bir temizlikten geçirdikten sonra tekrar kurma ve konuları ekleme noktasında en şaşırdığım konulardan birisi bu DNS ayarlamak ve bu ayarları kalıcı kalıcı hale getirmek.  Blogların kaynak ...</small></li><li><a href="http://mustak.org/proxy-uzerinden-wget-kullanimi/" title="Proxy üzerinden wGet kullanımı">Proxy üzerinden wGet kullanımı</a><br /><small>Bir çok sebepten ötürü proxy kullanıyoruz günümüzde. Grafik desktop üzerinde iseniz browser üzerinde kullanmak oldukça basit ve etkilidir.  Peki eğer dosya çekmeniz gerek makinanızda grafik desktop ça...</small></li><li><a href="http://mustak.org/linux-altina-subversion-svn-kurulumu/" title="Linux altına Subversion (SVN) kurulumu">Linux altına Subversion (SVN) kurulumu</a><br /><small>Başta belirteyim; Konuyu ifade eden bir logo olmadığı için pengueni tercih ettim. Konumuz olan SVN, aynı anda birçok kullanıcı tarafından kod geliştirilmesini sağlayan bir versiyonlama sistemidir. Ne ...</small></li><li><a href="http://mustak.org/python-ag-uzerinde-dosya-kopyalayalim/" title="[Python] Ağ üzerinde dosya kopyalayalım">[Python] Ağ üzerinde dosya kopyalayalım</a><br /><small>

Windows makinem de, ağ üzerinde düzenli olarak almam ve belli periyodlarla kontrol etmem gereken dosyalar bulunuyor. Her dosya için periyodik ağda gezip kopyala/yapıştır/aç incele... bir noktadan ...</small></li></ul>]]></content:encoded>
			<wfw:commentRss>http://mustak.org/maqasqldumper-v2-mysql-ve-web-dizini-yedekleme-araci/feed/</wfw:commentRss>
		<slash:comments>6</slash:comments>
		</item>
		<item>
		<title>Ubuntu (Linux) üzerine OpenSSH  kuralım</title>
		<link>http://mustak.org/ubuntu-linux-uzerine-openssh-kuralim/</link>
		<comments>http://mustak.org/ubuntu-linux-uzerine-openssh-kuralim/#comments</comments>
		<pubDate>Tue, 21 Feb 2012 17:00:06 +0000</pubDate>
		<dc:creator>hmustak</dc:creator>
				<category><![CDATA[Linux]]></category>
		<category><![CDATA[Makale]]></category>
		<category><![CDATA[Ubuntu]]></category>
		<category><![CDATA[Uygulama]]></category>
		<category><![CDATA[gnu]]></category>
		<category><![CDATA[opensource]]></category>
		<category><![CDATA[openssh]]></category>
		<category><![CDATA[port]]></category>
		<category><![CDATA[scp]]></category>
		<category><![CDATA[server]]></category>
		<category><![CDATA[ssh]]></category>

		<guid isPermaLink="false">http://mustak.org/?p=156</guid>
		<description><![CDATA[Sistemimde ihtiyaç duyduğum uygulamaları kurdukça, kurulum aşamaları tecrübelerimi paylaşmaya devam ediyorum. Bu akşamın konusu, Linux üzerinde SSH ile makinama bağlanma gereğim sonucu doğdu. İşyerimden eve bağlanmamın en hızlı ve o anki şartlar gereği tek yolu buydu. Hemen geçelim kuruluma ; # root olarak sisteme bağlandıktan sonra paketi indirip kurmak için  apt-get install openssh-server yazıyoruz # [...]]]></description>
			<content:encoded><![CDATA[<p><a href="http://mustak.org/wp-content/uploads/2012/01/gnu.png"><img class="size-full wp-image-27 alignleft" style="border-style: initial; border-color: initial; border-image: initial; margin-top: 1px; margin-bottom: 1px; margin-left: 10px; margin-right: 10px; border-width: 0px;" title="gnu" src="http://mustak.org/wp-content/uploads/2012/01/gnu.png" alt="" width="64" height="64" /></a>Sistemimde ihtiyaç duyduğum uygulamaları kurdukça, kurulum aşamaları tecrübelerimi paylaşmaya devam ediyorum. Bu akşamın konusu, Linux üzerinde SSH ile makinama bağlanma gereğim sonucu doğdu. İşyerimden eve bağlanmamın en hızlı ve o anki şartlar gereği tek yolu buydu.</p>
<p>Hemen geçelim kuruluma ;</p>
<p><span id="more-156"></span></p>
<p># root olarak sisteme bağlandıktan sonra paketi indirip kurmak için  <strong><span style="color: #ff0000;">apt-get install openssh-server</span></strong> yazıyoruz</p>
<p style="text-align: center;"><img class="size-full wp-image-1398 aligncenter" style="margin-top: 7px; margin-bottom: 7px; border: 1px solid black;" title="02" src="http://www.mustak.org/wp-content/uploads/2010/02/021.PNG" alt="02" width="558" height="345" /></p>
<p># openssh&#8217;ın default kurulum ayarlarıyla çalışıp çalışmadığını görmek için <span style="color: #ff0000;"><strong>netstat -tulpn</strong></span> yazararak sshd ve Port 22&#8242;yi arıyoruz. Varsa sorun yok, yüklenmiş ve çalışıyor demektir.</p>
<p style="text-align: center;"><img class="size-full wp-image-1399 aligncenter" style="margin-top: 7px; margin-bottom: 7px; border: 1px solid black;" title="03" src="http://www.mustak.org/wp-content/uploads/2010/02/031.PNG" alt="03" width="603" height="149" /></p>
<p># default ayarlarla ssh bağlantısı sağlanabiliyor olması lazım. Bir deneme yapalım: ben deneme için hem putty, hem WinSCP kullanıyorum (yerine göre). WinSCP içinde puuty için local aders göstererek dahili olarak birlikte kullanma şansınız da var tabi. Oldukça esnek ve güzel bir yapısı var, tavsiye edilir <img src='http://mustak.org/wp-includes/images/smilies/icon_smile.gif' alt=':)' class='wp-smiley' /> </p>
<p>Putty : <a href="http://www.putty.org/">http://www.putty.org/</a></p>
<p>WinSCP : <a href="http://winscp.net/eng/download.php">http://winscp.net/eng/download.php</a></p>
<p>WinSCP ile Login oluyoruz;</p>
<p style="text-align: center;"><img class="size-full wp-image-1402 aligncenter" style="margin-top: 5px; margin-bottom: 5px; border: 1px solid black;" title="04" src="http://www.mustak.org/wp-content/uploads/2010/02/041.PNG" alt="04" width="525" height="374" /></p>
<p style="text-align: auto;">Girilen bilgiler doğruysa bağlantı aşamalarını bu şekilde görüyor olmalısınız;</p>
<p style="text-align: center;"><img class="size-full wp-image-1400 aligncenter" style="margin-top: 5px; margin-bottom: 5px; border: 1px solid black;" title="05" src="http://www.mustak.org/wp-content/uploads/2010/02/051.PNG" alt="05" width="387" height="307" /></p>
<p style="text-align: left;">Açıldıktan sonra ise hem local hemde ssh bağlantısı yaptığınız makinenin dosyalarını ister winscp de, dahili putty kullanıyorsanız isterseniz de putty&#8217;de eş zamanlı olarak aşağıdaki gibi görebilirsiniz;</p>
<p style="text-align: center;"><img class="size-full wp-image-1401 aligncenter" style="margin-top: 5px; margin-bottom: 5px; border: 1px solid black;" title="06" src="http://www.mustak.org/wp-content/uploads/2010/02/061.PNG" alt="06" width="597" height="532" /></p>
<p># SSh bağlantısı default olarak Port 22 kullanır. Bunu herkes bildiği için bir güvenlik sıkıntısı oluşabilir. Düşünsenize port IP belli, port belli, kullanıcı adı root&#8230; Geriye sadece passwordu kırmak kalıyor. Birçok yöntemle bu password kırılabilir ve sisteminize girilebilir.</p>
<p>(İşini bilen biri ssh portunuzuda rahatlıkla bulabilir, bunuda unutmamak gerek tabi.)</p>
<p>lowlevel bir önlem dahi olsa portumuzu değiştirmeliyiz. Bunun için <span style="color: #ff0000;"><strong>nano</strong></span> aracılığıyla <span style="color: #ff0000;"><strong>etc/ssh altındaki sshd_config</strong></span> dosyasını açıyoruz</p>
<p style="text-align: center;"><img class="size-full wp-image-1403 aligncenter" style="margin-top: 5px; margin-bottom: 5px; border: 1px solid black;" title="07" src="http://www.mustak.org/wp-content/uploads/2010/02/071.PNG" alt="07" width="258" height="17" /></p>
<p style="text-align: left;">açılan config dosyasında<span style="color: #ff0000;"> port 22</span> &#8216;yi bulup istediğiniz port değerini girerek değiştiriyorsunuz. (ben 5522 yaptım)</p>
<p style="text-align: center;"><img class="size-full wp-image-1404 aligncenter" style="margin-top: 5px; margin-bottom: 5px; border: 1px solid black;" title="08" src="http://www.mustak.org/wp-content/uploads/2010/02/08.PNG" alt="08" width="402" height="436" /></p>
<p style="text-align: center;">ben portu <span style="color: #ff0000;"><strong>5522</strong></span> yaptım</p>
<p style="text-align: center;"><img class="size-full wp-image-1405 aligncenter" style="margin-top: 5px; margin-bottom: 5px; border: 1px solid black;" title="09" src="http://www.mustak.org/wp-content/uploads/2010/02/09.PNG" alt="09" width="294" height="30" /></p>
<p>nanoyu kaydedip çıkıyoruz. (nano üzerinde kaydet=&gt;ctrl+O , çık CTRL+X )</p>
<p># Şimdi yaptığımız değişikliğin uygulanabilmesi için ssh-server&#8217;ı restart ediyoruz. Bunun için <strong><span style="color: #ff0000;">etc/init.d/ssh restart</span></strong> yazmamız yeterli</p>
<p style="text-align: center;"><img class="size-full wp-image-1406 aligncenter" style="margin-top: 5px; margin-bottom: 5px; border: 1px solid black;" title="10" src="http://www.mustak.org/wp-content/uploads/2010/02/10.PNG" alt="10" width="412" height="29" /></p>
<p># Portun çalıştığını deneyelim ve görelim</p>
<p style="text-align: center;"><img class="size-full wp-image-1407 aligncenter" style="margin-top: 5px; margin-bottom: 5px; border: 1px solid black;" title="11" src="http://www.mustak.org/wp-content/uploads/2010/02/11.PNG" alt="11" width="527" height="372" /></p>
<p style="text-align: center;"><img class="size-full wp-image-1408 aligncenter" style="margin-top: 5px; margin-bottom: 5px; border: 1px solid black;" title="05" src="http://www.mustak.org/wp-content/uploads/2010/02/052.PNG" alt="05" width="387" height="307" /></p>
<p style="text-align: center;">ve bağlandı</p>
<p style="text-align: center;"><img class="size-full wp-image-1409 aligncenter" style="margin-top: 5px; margin-bottom: 5px; border: 1px solid black;" title="06" src="http://www.mustak.org/wp-content/uploads/2010/02/062.PNG" alt="06" width="597" height="532" /></p>
<p>Umarım bu yazı ihtiyaç duyan birine fayda sağlar.</p>
<p>Sevgiyle kalın</p>
<p><span style="color: #888888;">Hakan Müştak</span></p>
<h2  class="related_post_title"><br><br>Okumanızı önerdiğim benzer yayınlarım;</h2><ul class="related_post"><li><a href="http://mustak.org/scp-secure-copy-ile-dosya-transferi/" title="SCP &#8211; Secure Copy ile dosya transferi">SCP &#8211; Secure Copy ile dosya transferi</a><br /><small>O kadar görsel arayüz (gui) ile çalışmaya alıştık ki son dönemde, gerçekten belli kriz anlarında zorlanabiliyoruz. Az önce Grafik Desktop'tan SSH'a düşüp bu sıkıntıyla yüzleşince biranda afalladım. Bu...</small></li><li><a href="http://mustak.org/maqasqldumper-v2-mysql-ve-web-dizini-yedekleme-araci/" title="MaqaSQLDumper V2 &#8211; MySQL ve Web Dizini yedekleme aracı">MaqaSQLDumper V2 &#8211; MySQL ve Web Dizini yedekleme aracı</a><br /><small>Geçen hafta içinde serverını baştan kurmak zorunda olan ve siteleri yayınlanan bir arkadaşıma (bizim sitelerde kendisinde) alelacele bir backup scripti yazmış ve blogumdan BURADA yayınlamıştım. Python...</small></li><li><a href="http://mustak.org/websense-filtresinden-nasil-kurtulurum/" title="Websense filtresinden nasıl kurtulurum?">Websense filtresinden nasıl kurtulurum?</a><br /><small>Uzunca bir süre sonra tekrar yazmaya karar verdim.  Bugünün konusu özellikle kurumsal şirketlerde IT dışında kalan kullanıcıların başının belası olan websense ile ilgili. Günün sorusu ise "Websense'i ...</small></li></ul>]]></content:encoded>
			<wfw:commentRss>http://mustak.org/ubuntu-linux-uzerine-openssh-kuralim/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
	</channel>
</rss>

