<?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>irfaN &#187; Bash</title>
	<atom:link href="http://blog.irfandurmus.com/kategori/bash/feed/" rel="self" type="application/rss+xml" />
	<link>http://blog.irfandurmus.com</link>
	<description>Design, Development, Climbing, Life</description>
	<lastBuildDate>Sat, 24 Jul 2010 02:31:54 +0000</lastBuildDate>
	<generator>http://wordpress.org/?v=2.9.2</generator>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
			<item>
		<title>WHM-cPanel Sunucularda Symfony İçin PHP ve eAccelerator</title>
		<link>http://blog.irfandurmus.com/whm-cpanel-sunucularda-symfony-icin-php-ve-eaccelerator/</link>
		<comments>http://blog.irfandurmus.com/whm-cpanel-sunucularda-symfony-icin-php-ve-eaccelerator/#comments</comments>
		<pubDate>Sun, 13 Dec 2009 02:29:15 +0000</pubDate>
		<dc:creator>irfaN</dc:creator>
				<category><![CDATA[Bash]]></category>
		<category><![CDATA[PHP]]></category>
		<category><![CDATA[Pear]]></category>
		<category><![CDATA[Symfony]]></category>
		<category><![CDATA[İpuçları]]></category>
		<category><![CDATA[centos]]></category>
		<category><![CDATA[cpanel]]></category>
		<category><![CDATA[eAccelerator]]></category>
		<category><![CDATA[memcached]]></category>
		<category><![CDATA[whm]]></category>

		<guid isPermaLink="false">http://blog.irfandurmus.com/?p=688</guid>
		<description><![CDATA[Var olan sisteminizin yükünü düşürmek istiyorsanız eAccelerator en iyi yöntem diyebilirim. eAccelerator derlenen PHP dosyalarını cache dizinde tutup, tekrar aynı dosyalara istek geldiğinde kodları yeniden derlemek yerine, bu dizindeki derlenmiş kodları httpd ye gönderir.
Yeni bir sisteme başlayacaksanız ve yeterli miktarda ram e ve server a para harcayabiliyorsanız memcached kullanılabilir. Memcached için özetle dağıtık önbellek sistemi [...]]]></description>
			<content:encoded><![CDATA[<p>Var olan sisteminizin yükünü düşürmek istiyorsanız eAccelerator en iyi yöntem diyebilirim. eAccelerator derlenen PHP dosyalarını cache dizinde tutup, tekrar aynı dosyalara istek geldiğinde kodları yeniden derlemek yerine, bu dizindeki derlenmiş kodları httpd ye gönderir.</p>
<p>Yeni bir sisteme başlayacaksanız ve yeterli miktarda ram e ve server a para harcayabiliyorsanız memcached kullanılabilir. Memcached için özetle dağıtık önbellek sistemi diyebiliriz (Distributed Memory Caching System). Memcached&#8217;in diğer bir dezavantajı da işin yükünü programcıya bırakmasıdır. Memcached detaylı bir konu olduğu için (WordPress stats eklentisi bile var) daha sonraya bırakıp işimize dönelim.</p>
<p>PHP ile birlikte eAccelerator derlemek için bazı parametreler girmeniz gerekiyor. WHM/cPanel sunucularda bu imkanımız <a title="WHM / cPanel" href="http://www.cpanel.net/documentation/easyapache/ea3custom_flags.html">var gibi görünsede CentOS 5.4 üzerinde işe yaramıyor</a>.</p>
<p><span id="more-688"></span></p>
<p>cpanel.net de yazdığına göre PHP5 kullanıcıları için /var/cpanel/easy/apache/rawopts/ dizini altında all_php5 isminde bir dosya oluşturuyoruz ve easyapache burada yazdığımız parametreleri komuta join ediyor.</p>
<p>Örnekleri de şöyle:<br />
&#8211;with-someoption<br />
&#8211;path-to-something=/usr/bin/something<br />
&#8211;my-option=<br />
Tabii bu şekilde sonuca ulaşılmıyor.</p>
<p><a href="http://www.webhostingtalk.com/showthread.php?t=549666">Burada</a> bulduğum scripti biraz düzenledim. Öncelikle çalışan sisteminizde eAccelerator ın olmaması gerekiyor. Eğer varsa Easy Apache ile eAccelerator u kaldırarak yeniden derlemeniz lazım.</p>
<div class="codecolorer-container bash twitlight" style="overflow:auto;white-space:nowrap;border: 1px solid #9F9F9F;width:435px;height:600px;"><table cellspacing="0" cellpadding="0"><tbody><tr><td style="padding:5px;text-align:center;color:#888888;background-color:#EEEEEE;border-right: 1px solid #9F9F9F;font: normal 12px/1.4em Monaco, Lucida Console, monospace;"><div>1<br />2<br />3<br />4<br />5<br />6<br />7<br />8<br />9<br />10<br />11<br />12<br />13<br />14<br />15<br />16<br />17<br />18<br />19<br />20<br />21<br />22<br />23<br />24<br />25<br />26<br />27<br />28<br />29<br />30<br />31<br />32<br />33<br />34<br />35<br />36<br />37<br />38<br />39<br />40<br />41<br />42<br />43<br />44<br />45<br />46<br />47<br />48<br />49<br />50<br />51<br />52<br />53<br />54<br />55<br />56<br />57<br />58<br />59<br />60<br />61<br />62<br />63<br />64<br />65<br />66<br />67<br />68<br />69<br />70<br />71<br />72<br />73<br />74<br />75<br />76<br />77<br />78<br />79<br />80<br />81<br />82<br />83<br />84<br />85<br />86<br />87<br />88<br />89<br />90<br />91<br />92<br />93<br />94<br />95<br />96<br />97<br />98<br />99<br />100<br />101<br />102<br />103<br />104<br />105<br />106<br />107<br />108<br />109<br />110<br />111<br />112<br />113<br />114<br /></div></td><td><div class="bash codecolorer" style="padding:5px;font:normal 12px/1.4em Monaco, Lucida Console, monospace;white-space:nowrap"><span style="color: #666666; font-style: italic;">#!/bin/bash</span><br />
<br />
<span style="color: #007800;">PHP_INI</span>=<span style="color: #000000; font-weight: bold;">/</span>usr<span style="color: #000000; font-weight: bold;">/</span>local<span style="color: #000000; font-weight: bold;">/</span>lib<span style="color: #000000; font-weight: bold;">/</span>php.ini<br />
<span style="color: #007800;">PHP_BIN</span>=<span style="color: #000000; font-weight: bold;">/</span>usr<span style="color: #000000; font-weight: bold;">/</span>local<span style="color: #000000; font-weight: bold;">/</span>bin<br />
<span style="color: #007800;">PHP_EXT</span>=<span style="color: #000000; font-weight: bold;">/</span>usr<span style="color: #000000; font-weight: bold;">/</span>local<span style="color: #000000; font-weight: bold;">/</span>lib<span style="color: #000000; font-weight: bold;">/</span>php<span style="color: #000000; font-weight: bold;">/</span>extensions<br />
<span style="color: #007800;">PHPIZE</span>=<span style="color: #000000; font-weight: bold;">/</span>usr<span style="color: #000000; font-weight: bold;">/</span>local<span style="color: #000000; font-weight: bold;">/</span>bin<span style="color: #000000; font-weight: bold;">/</span>phpize<br />
<span style="color: #007800;">VERSION</span>=0.9.5.3<br />
<br />
<span style="color: #666666; font-style: italic;">#shared memory i kapatmak için alt satırı silebilir yada başına # koyabilirsiniz.</span><br />
<span style="color: #007800;">CUSTOM_FLAG</span>=<span style="color: #ff0000;">&quot;--with-eaccelerator-shared-memory&quot;</span><br />
<br />
<span style="color: #666666; font-style: italic;"># You do not need to adjust this, but you may if you want... (below)</span><br />
<span style="color: #007800;">TMPDIR</span>=<span style="color: #000000; font-weight: bold;">/</span>root<span style="color: #000000; font-weight: bold;">/</span>eaccelerator-install<br />
<span style="color: #007800;">PHPCACHE</span>=<span style="color: #000000; font-weight: bold;">/</span>tmp<span style="color: #000000; font-weight: bold;">/</span>eaccelerator<br />
<br />
<span style="color: #c20cb9; font-weight: bold;">clear</span><br />
<br />
<span style="color: #000000; font-weight: bold;">if</span> <span style="color: #7a0874; font-weight: bold;">&#91;</span> <span style="color: #000000; font-weight: bold;">!</span> <span style="color: #007800;">$UID</span> = 0 <span style="color: #7a0874; font-weight: bold;">&#93;</span><br />
&nbsp; <span style="color: #000000; font-weight: bold;">then</span><br />
&nbsp; &nbsp; <span style="color: #7a0874; font-weight: bold;">echo</span> <span style="color: #ff0000;">&quot;IPTAL EDILDI: Script root olarak calistirilmalidir.&quot;</span><br />
&nbsp; <span style="color: #7a0874; font-weight: bold;">exit</span> <span style="color: #007800;">$?</span><br />
<span style="color: #000000; font-weight: bold;">fi</span><br />
<br />
<span style="color: #000000; font-weight: bold;">if</span> <span style="color: #7a0874; font-weight: bold;">&#91;</span> <span style="color: #000000; font-weight: bold;">!</span> <span style="color: #660033;">-f</span> <span style="color: #000000; font-weight: bold;">/</span>etc<span style="color: #000000; font-weight: bold;">/</span>init.d<span style="color: #000000; font-weight: bold;">/</span>cpanel <span style="color: #7a0874; font-weight: bold;">&#93;</span> <span style="color: #000000; font-weight: bold;">||</span> <span style="color: #7a0874; font-weight: bold;">&#91;</span> <span style="color: #000000; font-weight: bold;">!</span> <span style="color: #660033;">-d</span> <span style="color: #000000; font-weight: bold;">/</span>var<span style="color: #000000; font-weight: bold;">/</span>cpanel <span style="color: #7a0874; font-weight: bold;">&#93;</span><br />
&nbsp; <span style="color: #000000; font-weight: bold;">then</span><br />
&nbsp; &nbsp; <span style="color: #7a0874; font-weight: bold;">echo</span> <span style="color: #ff0000;">&quot;IPTAL EDILDI: Script cPanel sunucular icindir. [Belki scripti duzenleyerek bu bilgisayarda calistirabilirsiniz, fakat bu tavsiye edilmez.].&quot;</span><br />
&nbsp; &nbsp; <span style="color: #7a0874; font-weight: bold;">exit</span> <span style="color: #007800;">$?</span><br />
<span style="color: #000000; font-weight: bold;">fi</span><br />
<br />
<span style="color: #000000; font-weight: bold;">if</span> <span style="color: #7a0874; font-weight: bold;">&#40;</span><span style="color: #c20cb9; font-weight: bold;">grep</span> <span style="color: #ff0000;">&quot;eaccelerator&quot;</span> <span style="color: #660033;">--</span> <span style="color: #007800;">$PHP_INI</span><span style="color: #7a0874; font-weight: bold;">&#41;</span><br />
&nbsp; <span style="color: #000000; font-weight: bold;">then</span><br />
&nbsp; &nbsp; <span style="color: #7a0874; font-weight: bold;">echo</span> <span style="color: #ff0000;">&quot;IPTAL EDILDI: Oncelikle eAccelerator u ve tum uzantilarini sisteminizden kaldirmaniz gerekiyor.[php.ini deki eAccelerator satirlarini silmeniz yeterli olabilir]&quot;</span><br />
&nbsp; &nbsp; <span style="color: #7a0874; font-weight: bold;">exit</span> <span style="color: #007800;">$?</span><br />
<span style="color: #000000; font-weight: bold;">fi</span><br />
<br />
<span style="color: #000000; font-weight: bold;">if</span> <span style="color: #7a0874; font-weight: bold;">&#91;</span> <span style="color: #000000; font-weight: bold;">!</span> <span style="color: #660033;">-d</span> <span style="color: #007800;">$PHP_EXT</span> <span style="color: #7a0874; font-weight: bold;">&#93;</span><br />
&nbsp; <span style="color: #000000; font-weight: bold;">then</span><br />
&nbsp; <span style="color: #c20cb9; font-weight: bold;">mkdir</span> <span style="color: #660033;">-p</span> <span style="color: #007800;">$PHP_EXT</span><br />
<span style="color: #000000; font-weight: bold;">fi</span><br />
<br />
<span style="color: #000000; font-weight: bold;">if</span> <span style="color: #7a0874; font-weight: bold;">&#91;</span> <span style="color: #000000; font-weight: bold;">!</span> <span style="color: #660033;">-f</span> <span style="color: #007800;">$PHP_INI</span> <span style="color: #7a0874; font-weight: bold;">&#93;</span> <span style="color: #000000; font-weight: bold;">||</span> <span style="color: #7a0874; font-weight: bold;">&#91;</span> <span style="color: #000000; font-weight: bold;">!</span> <span style="color: #660033;">-d</span> <span style="color: #007800;">$PHP_BIN</span> <span style="color: #7a0874; font-weight: bold;">&#93;</span> <span style="color: #000000; font-weight: bold;">||</span> <span style="color: #7a0874; font-weight: bold;">&#91;</span> <span style="color: #000000; font-weight: bold;">!</span> <span style="color: #660033;">-d</span> <span style="color: #007800;">$PHP_EXT</span> <span style="color: #7a0874; font-weight: bold;">&#93;</span> <span style="color: #000000; font-weight: bold;">||</span> <span style="color: #7a0874; font-weight: bold;">&#91;</span> <span style="color: #000000; font-weight: bold;">!</span> <span style="color: #660033;">-f</span> <span style="color: #007800;">$PHPIZE</span> <span style="color: #7a0874; font-weight: bold;">&#93;</span><br />
&nbsp; <span style="color: #000000; font-weight: bold;">then</span><br />
&nbsp; &nbsp; <span style="color: #7a0874; font-weight: bold;">echo</span> <span style="color: #ff0000;">&quot;IPTAL EDILDI: Script sizin bilgisayariniz icin yapilandirilmamis olabilir, lutfen script dosyasini acin ve 3-6 satirlarinin dogru degerleri aldigindan emin olun.&quot;</span><br />
&nbsp; &nbsp; <span style="color: #7a0874; font-weight: bold;">exit</span> <span style="color: #007800;">$?</span><br />
<span style="color: #000000; font-weight: bold;">fi</span><br />
<br />
<span style="color: #000000; font-weight: bold;">if</span> <span style="color: #7a0874; font-weight: bold;">&#91;</span> <span style="color: #660033;">-d</span> <span style="color: #007800;">$TMPDIR</span> <span style="color: #7a0874; font-weight: bold;">&#93;</span><br />
&nbsp; <span style="color: #000000; font-weight: bold;">then</span><br />
&nbsp; &nbsp; <span style="color: #c20cb9; font-weight: bold;">rm</span> <span style="color: #660033;">-rf</span> <span style="color: #007800;">$TMPDIR</span><br />
<span style="color: #000000; font-weight: bold;">fi</span><br />
<br />
<span style="color: #c20cb9; font-weight: bold;">mkdir</span> <span style="color: #007800;">$TMPDIR</span><br />
<span style="color: #7a0874; font-weight: bold;">cd</span> <span style="color: #007800;">$TMPDIR</span><br />
<br />
<span style="color: #7a0874; font-weight: bold;">echo</span> <span style="color: #ff0000;">&quot;wget ile ontanimli yansidan eAccelerator indiriliyor...&quot;</span><br />
<span style="color: #c20cb9; font-weight: bold;">wget</span> <span style="color: #660033;">-q</span> http:<span style="color: #000000; font-weight: bold;">//</span>bart.eaccelerator.net<span style="color: #000000; font-weight: bold;">/</span>source<span style="color: #000000; font-weight: bold;">/</span><span style="color: #007800;">$VERSION</span><span style="color: #000000; font-weight: bold;">/</span>eaccelerator-<span style="color: #007800;">$VERSION</span>.tar.bz2<br />
<br />
<span style="color: #000000; font-weight: bold;">if</span> <span style="color: #7a0874; font-weight: bold;">&#91;</span> <span style="color: #000000; font-weight: bold;">!</span> <span style="color: #660033;">-f</span> eaccelerator-<span style="color: #007800;">$VERSION</span>.tar.bz2 <span style="color: #7a0874; font-weight: bold;">&#93;</span><br />
&nbsp; <span style="color: #000000; font-weight: bold;">then</span><br />
&nbsp; &nbsp; <span style="color: #7a0874; font-weight: bold;">echo</span> <span style="color: #ff0000;">&quot;IPTAL EDILDI: Indirme basarisiz.&quot;</span><br />
&nbsp; &nbsp; <span style="color: #7a0874; font-weight: bold;">exit</span> <span style="color: #007800;">$?</span><br />
&nbsp; &nbsp; <span style="color: #000000; font-weight: bold;">else</span><br />
&nbsp; &nbsp; <span style="color: #7a0874; font-weight: bold;">echo</span> <span style="color: #ff0000;">&quot;TAMAMLANDI.&quot;</span><br />
<span style="color: #000000; font-weight: bold;">fi</span><br />
<br />
<span style="color: #c20cb9; font-weight: bold;">tar</span> jfx eaccelerator-<span style="color: #007800;">$VERSION</span>.tar.bz2<br />
<span style="color: #7a0874; font-weight: bold;">cd</span> eaccelerator-<span style="color: #007800;">$VERSION</span><br />
<span style="color: #c20cb9; font-weight: bold;">bash</span> <span style="color: #007800;">$PHPIZE</span><br />
.<span style="color: #000000; font-weight: bold;">/</span>configure <span style="color: #660033;">--enable-eaccelerator</span>=shared <span style="color: #660033;">--with-php-config</span>=<span style="color: #007800;">$PHP_BIN</span><span style="color: #000000; font-weight: bold;">/</span>php-config <span style="color: #007800;">$CUSTOM_FLAG</span><br />
<span style="color: #c20cb9; font-weight: bold;">make</span><br />
<span style="color: #c20cb9; font-weight: bold;">make</span> <span style="color: #c20cb9; font-weight: bold;">install</span><br />
<br />
<span style="color: #c20cb9; font-weight: bold;">mv</span> <span style="color: #007800;">$PHP_EXT</span><span style="color: #000000; font-weight: bold;">/</span>no-debug-non-zts-<span style="color: #000000; font-weight: bold;">*/</span>eaccelerator.so <span style="color: #007800;">$PHP_EXT</span><br />
<br />
<span style="color: #c20cb9; font-weight: bold;">cat</span> <span style="color: #007800;">$PHP_INI</span> <span style="color: #000000; font-weight: bold;">&amp;</span>gt; <span style="color: #007800;">$PHP_INI</span>.bak<br />
<span style="color: #7a0874; font-weight: bold;">echo</span> <span style="color: #ff0000;">&quot;<span style="color: #007800;">$PHP_INI</span> dosyasi <span style="color: #007800;">$PHP_INI</span>.bak olarak yedeklendi.&quot;</span><br />
replace <span style="color: #660033;">-s</span> <span style="color: #ff0000;">&quot;extension_dir = <span style="color: #000099; font-weight: bold;">\&quot;</span>./<span style="color: #000099; font-weight: bold;">\&quot;</span>&quot;</span> <span style="color: #ff0000;">&quot;extension_dir = <span style="color: #000099; font-weight: bold;">\&quot;</span><span style="color: #007800;">$PHP_EXT</span><span style="color: #000099; font-weight: bold;">\&quot;</span>&quot;</span> <span style="color: #660033;">--</span> <span style="color: #007800;">$PHP_INI</span><br />
<br />
<span style="color: #c20cb9; font-weight: bold;">cat</span> <span style="color: #000000; font-weight: bold;">&amp;</span>lt;<span style="color: #000000; font-weight: bold;">&amp;</span>gt; <span style="color: #007800;">$PHP_INI</span><br />
<br />
<span style="color: #000000; font-weight: bold;">;;</span>eAccelerator<br />
; <span style="color: #007800;">extension</span>=<span style="color: #ff0000;">&quot;eaccelerator.so&quot;</span><br />
<span style="color: #007800;">zend_extension</span>=<span style="color: #ff0000;">&quot;/usr/local/lib/php/extensions/eaccelerator.so&quot;</span><br />
eaccelerator.shm_size=<span style="color: #ff0000;">&quot;16&quot;</span><br />
eaccelerator.cache_dir=<span style="color: #ff0000;">&quot;<span style="color: #007800;">$PHPCACHE</span>&quot;</span><br />
eaccelerator.enable=<span style="color: #ff0000;">&quot;1&quot;</span><br />
eaccelerator.optimizer=<span style="color: #ff0000;">&quot;1&quot;</span><br />
eaccelerator.check_mtime=<span style="color: #ff0000;">&quot;1&quot;</span><br />
eaccelerator.debug=<span style="color: #ff0000;">&quot;0&quot;</span><br />
eaccelerator.filter=<span style="color: #ff0000;">&quot;&quot;</span><br />
eaccelerator.shm_max=<span style="color: #ff0000;">&quot;0&quot;</span><br />
eaccelerator.shm_ttl=<span style="color: #ff0000;">&quot;0&quot;</span><br />
eaccelerator.shm_prune_period=<span style="color: #ff0000;">&quot;0&quot;</span><br />
eaccelerator.shm_only=<span style="color: #ff0000;">&quot;0&quot;</span><br />
eaccelerator.compress=<span style="color: #ff0000;">&quot;1&quot;</span><br />
eaccelerator.compress_level=<span style="color: #ff0000;">&quot;9&quot;</span><br />
eaccelerator.keys=<span style="color: #ff0000;">&quot;shm_only&quot;</span><br />
eaccelerator.content=<span style="color: #ff0000;">&quot;shm_only&quot;</span><br />
eaccelerator.log_file = <span style="color: #ff0000;">&quot;/var/log/httpd/eaccelerator_log&quot;</span><br />
EOT<br />
<br />
<span style="color: #000000; font-weight: bold;">if</span> <span style="color: #7a0874; font-weight: bold;">&#91;</span> <span style="color: #660033;">-d</span> <span style="color: #007800;">$PHPCACHE</span> <span style="color: #7a0874; font-weight: bold;">&#93;</span><br />
&nbsp; <span style="color: #000000; font-weight: bold;">then</span><br />
&nbsp; &nbsp; <span style="color: #c20cb9; font-weight: bold;">rm</span> <span style="color: #660033;">-rf</span> <span style="color: #007800;">$PHPCACHE</span><br />
<span style="color: #000000; font-weight: bold;">fi</span><br />
<br />
<span style="color: #c20cb9; font-weight: bold;">mkdir</span> <span style="color: #007800;">$PHPCACHE</span><br />
<br />
<span style="color: #7a0874; font-weight: bold;">echo</span> ; <span style="color: #7a0874; font-weight: bold;">echo</span> <span style="color: #ff0000;">&quot;Apache yeniden baslatiliyor...&quot;</span> ; <span style="color: #7a0874; font-weight: bold;">echo</span><br />
<span style="color: #000000; font-weight: bold;">/</span>etc<span style="color: #000000; font-weight: bold;">/</span>init.d<span style="color: #000000; font-weight: bold;">/</span>httpd restart<br />
<br />
<span style="color: #7a0874; font-weight: bold;">echo</span> ; <span style="color: #7a0874; font-weight: bold;">echo</span> <span style="color: #ff0000;">&quot;Tum adimlar basariyla tamamlandi.&quot;</span> ; <span style="color: #7a0874; font-weight: bold;">echo</span><br />
<br />
<span style="color: #7a0874; font-weight: bold;">exit</span> <span style="color: #007800;">$?</span></div></td></tr></tbody></table></div>
]]></content:encoded>
			<wfw:commentRss>http://blog.irfandurmus.com/whm-cpanel-sunucularda-symfony-icin-php-ve-eaccelerator/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>Gerçek Dosyalar ile Sahte Dosyaları Ayıralım</title>
		<link>http://blog.irfandurmus.com/gercek-dosyalar-ile-sahte-dosyalari-ayiralim/</link>
		<comments>http://blog.irfandurmus.com/gercek-dosyalar-ile-sahte-dosyalari-ayiralim/#comments</comments>
		<pubDate>Mon, 14 May 2007 22:00:40 +0000</pubDate>
		<dc:creator>irfaN</dc:creator>
				<category><![CDATA[Bash]]></category>
		<category><![CDATA[dosya işlemleri]]></category>
		<category><![CDATA[shell script]]></category>

		<guid isPermaLink="false">http://blog.irfandurmus.com/?p=221</guid>
		<description><![CDATA[Bir dizinde yüzlerce hatta binlerce dosya olduğunu düşünün. Bu dosyaların içerisinde sahte dosyalarda var. Sahte dosya derken şunu kastettim; &#8220;.jpg&#8221; uzantılı veya kendi uzantısında fakat gerçekten JPG resmi olmayan dosyalar. Bu dosyalar html, png, gif, doc, txt, mpeg, gibi JPG grafik dosyası hariç diğer tüm dosya türlerini kapsıyor. 
Evet geçen gün başıma böyle bir şey [...]]]></description>
			<content:encoded><![CDATA[<p>Bir dizinde yüzlerce hatta binlerce dosya olduğunu düşünün. Bu dosyaların içerisinde sahte dosyalarda var. Sahte dosya derken şunu kastettim; &#8220;.jpg&#8221; uzantılı veya kendi uzantısında fakat gerçekten JPG resmi olmayan dosyalar. Bu dosyalar html, png, gif, doc, txt, mpeg, gibi JPG grafik dosyası hariç diğer tüm dosya türlerini kapsıyor. </p>
<p>Evet geçen gün başıma böyle bir şey geldi. İşte PHP nin yetersiz kaldığı yerlerden biri. O kadar uğraştım fakat PHP de güvenli bir şekilde bunu yapabilecek yöntem bulamadım. Kullanılabilecek function&#8217;lar var. shell_exec() kullanılarak halledilebilir fakat madem shell komutu çalıştıracam o zaman neden PHP kullanıyım ki ? Bu komutu PHP ile çalıştırmaktansa komut satırından çalıştırmak daha kolay.</p>
<p>Gelelim bash betiğimizin çalışmasına. Bash hakkında az/çok bilginiz varsa, koda göz atmanız, nasıl çalıştığı hakkında size fikir verecektir.</p>
<p>Aşağıdaki kodu &#8220;jpeg&#8221; dosya adıyla kayıt edin.</p>
<div class="codecolorer-container bash twitlight" style="overflow:auto;white-space:nowrap;border: 1px solid #9F9F9F;width:435px;height:600px;"><table cellspacing="0" cellpadding="0"><tbody><tr><td style="padding:5px;text-align:center;color:#888888;background-color:#EEEEEE;border-right: 1px solid #9F9F9F;font: normal 12px/1.4em Monaco, Lucida Console, monospace;"><div>1<br />2<br />3<br />4<br />5<br />6<br />7<br />8<br />9<br />10<br />11<br />12<br />13<br />14<br />15<br />16<br />17<br />18<br />19<br />20<br />21<br />22<br />23<br /></div></td><td><div class="bash codecolorer" style="padding:5px;font:normal 12px/1.4em Monaco, Lucida Console, monospace;white-space:nowrap"><span style="color: #666666; font-style: italic;">#!/bin/bash</span><br />
<span style="color: #666666; font-style: italic;">#</span><br />
<span style="color: #666666; font-style: italic;"># Author : irfaN - http://irfandurmus.com</span><br />
<span style="color: #666666; font-style: italic;"># Usage : ./jpeg [dizin]</span><br />
<span style="color: #666666; font-style: italic;">#</span><br />
<span style="color: #000000; font-weight: bold;">if</span> <span style="color: #7a0874; font-weight: bold;">&#91;</span> <span style="color: #660033;">-n</span> <span style="color: #ff0000;">&quot;$1&quot;</span> <span style="color: #7a0874; font-weight: bold;">&#93;</span><br />
<span style="color: #000000; font-weight: bold;">then</span><br />
&nbsp; &nbsp; &nbsp; &nbsp; <span style="color: #000000; font-weight: bold;">if</span> <span style="color: #7a0874; font-weight: bold;">&#91;</span> <span style="color: #660033;">-d</span> <span style="color: #ff0000;">&quot;$1&quot;</span> <span style="color: #7a0874; font-weight: bold;">&#93;</span><br />
&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span style="color: #000000; font-weight: bold;">then</span><br />
&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span style="color: #7a0874; font-weight: bold;">cd</span> <span style="color: #ff0000;">&quot;$1&quot;</span><br />
&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span style="color: #000000; font-weight: bold;">else</span><br />
&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span style="color: #7a0874; font-weight: bold;">echo</span> <span style="color: #ff0000;">'Hata : $1 dizin değil'</span><br />
&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span style="color: #7a0874; font-weight: bold;">echo</span> <span style="color: #ff0000;">'Kullanımı : ./jpeg [dizin]'</span><br />
&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span style="color: #7a0874; font-weight: bold;">exit</span><br />
&nbsp; &nbsp; &nbsp; &nbsp; <span style="color: #000000; font-weight: bold;">fi</span><br />
<span style="color: #000000; font-weight: bold;">fi</span><br />
<span style="color: #000000; font-weight: bold;">for</span> dosya <span style="color: #000000; font-weight: bold;">in</span> <span style="color: #000000; font-weight: bold;">*</span>;<br />
&nbsp; &nbsp; &nbsp; &nbsp; <span style="color: #000000; font-weight: bold;">do</span><br />
&nbsp; &nbsp; &nbsp; &nbsp; <span style="color: #000000; font-weight: bold;">if</span> <span style="color: #7a0874; font-weight: bold;">&#91;</span><span style="color: #7a0874; font-weight: bold;">&#91;</span> <span style="color: #000000; font-weight: bold;">`</span><span style="color: #c20cb9; font-weight: bold;">file</span> <span style="color: #007800;">$dosya</span><span style="color: #000000; font-weight: bold;">`</span> <span style="color: #000000; font-weight: bold;">!</span>= <span style="color: #000000; font-weight: bold;">*</span>JPEG<span style="color: #000000; font-weight: bold;">*</span> <span style="color: #7a0874; font-weight: bold;">&#93;</span><span style="color: #7a0874; font-weight: bold;">&#93;</span>; <span style="color: #000000; font-weight: bold;">then</span><br />
&nbsp; &nbsp; &nbsp; &nbsp; <span style="color: #c20cb9; font-weight: bold;">rm</span> <span style="color: #ff0000;">&quot;<span style="color: #007800;">$dosya</span>&quot;</span>;<br />
&nbsp; &nbsp; &nbsp; &nbsp; <span style="color: #7a0874; font-weight: bold;">echo</span> <span style="color: #ff0000;">&quot;Silindi: <span style="color: #007800;">$dosya</span>&quot;</span><br />
&nbsp; &nbsp; &nbsp; &nbsp; <span style="color: #000000; font-weight: bold;">fi</span><br />
<span style="color: #000000; font-weight: bold;">done</span></div></td></tr></tbody></table></div>
<p>daha sonra<br />
<code class="codecolorer bash twitlight"><span class="bash">.<span style="color: #000000; font-weight: bold;">/</span>jpeg resimlerim</span></code></p>
<p>komutunu verdiğinizde resimlerim klasörü içerisinde sadece gerçek jpeg dosyaları kalacak, diğer tüm dosyalar silinecektir. Hangi dosyaların silindiğini ekrana yazacaktır. Eğer &#8220;resimlerim&#8221; bir dizin değilse size bunu belirtecektir.</p>
<p>Not : Kodu, yedeği olmayan dosyalar üzerinde kullanmayın. Silinen dosyaların geri dönüşümü mümkün olmayabilir. Dosyalarınızın hepsinin tek dizin içerisinde, alt dizin olmadan bulunması gerekiyor. Kontroller eksik. İsterseniz geliştirebilirsiniz. Son olarak her zamanki gibi kullanımdan doğan zararlardan beni sorumlu tutmayın.</p>
]]></content:encoded>
			<wfw:commentRss>http://blog.irfandurmus.com/gercek-dosyalar-ile-sahte-dosyalari-ayiralim/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
	</channel>
</rss>
