İlyas Canbay (HTML, CSS, PHP, SQL) » 2008 » Mart
En sık kullandığımız Linux SSH komutları ve açıklamaları…
Bu komutların bir kısmı kullandığınız sunucuda işe yaramayabilir. Ancak genel olarak ele alırsak burdaki birçok komutu denemenizde fayda vardır.
ls Dizinde bulunan tüm dosyaları listelemeye yarar.
ls -al Dizindeki tüm dosyaları gösterir.
ls -a Gizli dosyalar ve dizinler dahil herşeyi listeler.
ls -l Bütün dosyaları boyut ve tarihini göstererek listeler.
cp Dosyayı kopyalar.
cp -a /home/burst/new_design/* /home/burst/public_html/ Bir dizindeki tüm dosyaları ilgili yere kopyalar…
mv Bir dosyayı başka bir dizine taşımanızı sağlar ya da dosya adını değiştirir.
mv /home/yedekadi.tar.gz /home/username/public_html Komutta yer alan yedekadi.tar.gz isimli dosyayı belirtilen dizine taşımanızı sağlar.
mkdir Yeni bir dizin oluşturmanızı sağlar.
rmdir Belirtilen dizini silmenizi sağlar.
rm Dosya silmenizi sağlar.
rm -rf Dizin silmenizi sağlar.
cd Belirtilen dizine geçmenizi sağlar.
cd .. Bir üst dizine geçmenizi sağlar.
cd ~ En üst dizine çıkmanızı sağlar.
cd - En son bulunduğunuz dizine dönmenizi sağlar.
pwd O anda bulunduğunuz dizini görüntüler.
pico Belirtilen dosyayı text editör ile düzenlemenizi sağlar.
ftp Belirtilen siteye FTP bağlantısı sağlar.
lynx Belirtilen siteyi görüntüler.
df Harddisk istatistiklerini gösterir.
quota Disk kullanımınızı gösterir.
uname İşletim sisteiminin durumunu gösterir.
whoami Kendi bilgilerinizi gösterir.
who Sunucuya bağlı olanları gösterir.
last Hesabınıza yapılan en son bağlantıyı gösterir.
whereis Belirtilen dosyanın nerede olduğunu gösterir.
mail Postalarınızı kontrol eder.
ps -x Sizin çalıştırdığınız işlemleri gösterir.
ps -a Sunucuda çalıştırılan tüm işlemleri gösterir.
ps -ux Çalıştırılan işlemlerin CPU/RAM kullanımıyla gösterir.
kill Pid numarası verilen işlemi durdurur.
killall Belirtilen program türündeki tüm işlemleri durdurur.
whatis Belirtilen komutun açıklamasını verir.
man Komut hakkında yardım görüntüler
passwd Shell hesabınıza girerken kullandığınız şifreyi değiştirmenizi sağlar.
tar -zxpf Uzantısı tar.gz olan sıkıştırılmış dosyaları açar.
tar -xpf Uzantısı .tar olan dosyaları açar.
tar -zxvf file.tar.gz Sıkıştırılmış tar.gz dosyasını açar.
tar -xvf file.tar Sıkıştırılmış .tar dosyasını açar.
tar -cf archive.tar contents/ Contents/ klasöründeki herşeyi alır ve archive.tar dosyası içerisine atar.
gunzip Uzantısı .gz olan dosları açar.
reboot Sunucuyu yeniden başlatır.
service mysqld restart mysql yeniden başlatır.
service httpd restart Apache’yi yeniden başlatır.
service httpd stop Apache’yi durdurarak sitelere ulaşımı kapatır.
apf -d ipadresi Verilen IP adresini yasaklar.
service apf restart Apf’ye restart atar.
netstat -n Sunucuya bağlanan IP’leri gösterir.
netstat -a Sunucuya bağlanan reseller IP’lerini gösterir (Proxy kullanmanız fark etmez her zaman gercek çıkış IP’si görünür)
pico SSH’de metin editörü ile dosya içeriğini görme ve düzenlemeye yarar.
top Sistem CPU kullanımını gösterir. CPU kullanımını güncel bir şekilde gösteriyor; hangi sitenin veya işlemin sunucuyu yorduğunu anlayabiliyoruz.
uptime Uptime Durumu
IP YASAKLAMA
IP yasaklama:
iptables -A INPUT -s IPADRESİ -j DROP
ip yasağını kaldırma:
iptables -X INPUT -s IPADRESİ -j DROP
zip dosyasını açma:
unzip dosya.zip
tar.gz açma
tar -zxvf dosya.tar.gz
gzip açma
gunzip dosya.tar.gz
Bu komutları İnternet’te çeşitli kaynaklardan derledim…
SSH’den MySQL yedek almanın ve mevcut yedeği yüklemenin kolay yolu…
Boyutu 60 MB’den fazla olan veritabanları için bu yöntemi kullanmakta fayda vardır…
—–
SSH Secure Shell 3.2.9 (kendi kullandığım program) veya alternatif bir programla sunucuya SSH bağlantı yapınız.
Alttaki komutta kırmızı yerleri alacağınız yedeğe göre düzenleyin.
mysqldump --opt -Q -u veritabanıkullanıcıadı-p veritabanıadı > /home/hesap/dizin/yedek.sql
Enter tuşuna bastığınızda veritabanı şifresini isteyecektir. Şifreyi bilmiyorsanız conf.php, config.php veya configuration.php dosyalarını kontrol ediniz.
Şifreyi de yazdıktan sonra Enter’a bastığınızda yedek alınacak ve karşınıza boş bir konsol gelecektir. FTP girişi yaparak ilgili dizini kontrol edebilirsiniz…
—–
Örnek verecek olursak;
Diyelim ki ingilizceforum.net sitesinin yedeğini alıyoruz; veritabanı bilgilerinin şu şekilde olduğunu varsayalım:
Veritabanı adı: forum_db
Veritabanı kullanıcı adı: forum_user
Veritabanı şifresi: 123456
Yedeğin kaydedileceği dizin: /home/forum/public_html/yedek.sql
Yukarıdaki bilgiler baz alındığında komut aynen şöyle olmalıdır.
mysqldump --opt -Q -u forum_user -p forum_db > /home/forum/public_html/yedek.sql
Enter’a tıkladığımızda şifre isteyecek:
Password: 123456
Ve birkaç saniye içinde…
Yedeğimiz alındı…
Son olarak /public_html/ dizinine girerek yedeği bilgisayarımıza indirebiliriz…
—–
Yedeğin yüklenmesi…
Diyelim ki bir aksilik oldu ve site göçtü. O zaman biraz önceki yedeği geri yükleyelim. Komut aynen şu şekilde olur:
mysql -u forum_user -p forum_db < /home/forum/public_html/yedek.sql
Ve birkaç saniye içinde…
Yedeğimiz yüklendi…
—–
Normalde sıkıştırılmış gZip olarak boyutu 60 MB’den yüksek olan veritabanları phpMyAdmin ile yüklenirken sorun çıkarmaktadır. Bu nedenle büyük sitelerin SSH yolu ile yedek almasında ve yüklemesinde fayda vardır. Aksi halde bu durum büyük sitelerin yöneticilerine sorun çıkarabilmektedir.
Not: Bu komutları uygulayabilmek için Server Yöneticisi olmanız gerekir.. Normal site sahipleri SSH protokolünü kullanamazlar…