Murat TATAR God saves lost souls , I save lost passwords

27Ara/140

Linux isletim sistemlerinde tar ve cron job ile yedek alma

Bu yazımda sizlere linux işletim sistemlerinde dosyalarınızı nasıl otomatik olarak sıkıştırıp aynı zamanda "zamanlanmış görev" ile yedekliyebiliceginiz hakkinda bilgi vericem.

Genelde bütün linux ile ugrasan kisiler sıkıstırma olarak .tar sıkıstırma yontemini kullanır. Bu sıkıstırma yöntemi ile dosyalarınızın boyutunu kücültebilir aynı zamanda birden fazla dosyayi tek bir sıkıştırılmış dosya haline getirebilirsiniz.

Linux işletim sistemlerinde zamanlanmış göreve verilen ad CRON JOB dur. Cron job ile linux işletim sisteminde belirliyeceginiz işlemlerin ne zaman yapılmasını istedigini planlayabilir , vakti geldiginde işlemi müdahaleniz olmadan otomatik olarak gercekleştirebilirsiniz.

Öncelikle ögrenmemiz gereken şey önemli dosyaları nasil otomatik olarak bash script ve cron job ile yedekleyeceğimiz.

TAR KULLANARAK YEDEKLEME

Belirlemiş olduğunuz dosyaları sıkıştırmak için aşagıdaki kolay kod u kullanabilirsiniz.

# tar -cvpzf   /YedeklenmesiniİstediginizDosya/SıkıstırılanDosyaİsmi.tar.gz /YedeginKaydedilicegiyer/DosyaYolu/path

Örnek vermek gerekirse ,  root klasöründe /imp-data oldugunu varsayalim , yapmak istedigim işlem bu klasör ve alt klasörlerini sıkıştırıp aynı zamanda sıkıştırılan dosyayi başka bir dizine kaydetmek olsun. Bunun için örnek kod aşagıdaki gibi olmalı

# tar -cvpzf /mybackupfolder/backup.tar.gz    /imp-data

backup-using-tarŞimdi bu komutu bash scriptinin içine yerleştirip işlemin otomatik cron job ile tanımladıgımız zamanda olmasını saglayabiliriz. Bunun için benim kullandıgım basit bir script bulunmakta bunu sizinle paylaşiyorum. öncelikle vi editör ile dosya oluşturup (# vi /backup.sh ) içine script içerigini kopyalamalısınız.

#!/bin/bash
#Purpose = Backup of Important Data
#Created on 17-1-2012
#Author = Mur@ Tatar
#Version 1.0
#START

TIME=`date +"%b-%d-%y"`             # Bu komut sıkıştırılan log dosyasına sıkıştırıldıgı anın tarihini atar
FILENAME="backup-$TIME.tar.gz"      # Backup dosyasının ismini belirler
SRCDIR="/imp-data"                  # Hangi dosyanın backuplanıcagı ile ilgili hedef göstercegin komut
DESDIR="/mybackupfolder"            # Alınan backupların nereye kaydedilicegi ile ilgili backup
tar -cpzf $DESDIR/$FILENAME $SRCDIR

#END

Bu script imp-data klasörü içerisindeki ve alt klasörleri içerisindeki dosyaların tamamını sıkıştırıp mybackupfolder klasörüne taşir. Bu iki dosyayı oluşturmak için kullanmanız gereken komutlar aşagıdaki gibidir.

Kaynak dosya

# mkdir /imp-data

Hedef dosya

# mkdir /mybackupfolder

Cron Job ile yedek alma işlemini otomatige baglama

Şimdi cron job ile nasil bu işlemi belirlenen bir vakitte yapabilicegimizi görücez. Bu işlem için kullanmamız gereken komut "crontab -e" komutudur. Bu komutu ilk kullandıgınızda size windows işletim sistemlerinde oldugu gibi herzaman kullandıgınız text editor hangisi diye sorucaktir , text editoru 1 kere sectiginizde bu soru bir daha karşınıza cıkmıyıcak hep o sectiginiz text editor ile aynı komut vasitasiyla dosyaya erişim saglayabiliceksiniz.

crontab editor dosyasını acıyoruz

# crontab -e

Crontab daki format aşagıdaki gibidir. 6 aşamadan oluşur

Minutes    Hours     Day of Month    Month     Day of Week     Command

0 to 59    0 to 23               1 to 31         1 to 12          0 to 6            Shell Command

Örnek olarak pazartesi ve cumartesi günü yedekleme scriptimizin saat 1 de calışmasını istedigimize dair bir kural belirleyelim.

# M H DOM M DOW CMND
01 13 * * 1,6 /bin/bash /backup.sh

İşlem bu kadar. Bu işlemi yaptıgınızda yedekleme scriptiniz her pazartesi ve cumartesi günü saat 1 de calışıp yedekleme işlemini gercekleştiricektir. Umarım makelenin yardımı dokunur. Takıldıgınız noktada iletişim kısmından benimle irtibata gecebilirsiniz.

 

15Mar/130

httpd: Syntax error on line 221 of /etc/httpd/conf/httpd.conf: Syntax error on line 5 of /etc/httpd/conf.d/zz010_psa_httpd.conf: Syntax error on line 91 of /usr/local/psa/admin/conf/generated/13289086960.07411300_server.include: Syntax error on line 6 of /usr/local/psa/admin/conf/ip_vhosts_bootstrap.conf: Could not open configuration file /var/www/vhosts/islandsnow.ca/conf/13275227850.97707600_httpd_ip_default.include: Permission denied Hatasi Cözümü

Plesk 10 da aşagıdaki hatayı aliyorsanız , cözümü size bir mektup edasiyla sunuyorum. Arkanıza yaslanıp root parolasını girdikten sonra ctrl+c ctrl+v yapmaya hazirlanın,

Hata;

httpd: Syntax error on line 221 of /etc/httpd/conf/httpd.conf: Syntax error on line 5 of /etc/httpd/conf.d/zz010_psa_httpd.conf: Syntax error on line 91 of /usr/local/psa/admin/conf/generated/13289086960.07411300_server.include: Syntax error on line 6 of /usr/local/psa/admin/conf/ip_vhosts_bootstrap.conf: Could not open configuration file /var/www/vhosts/islandsnow.ca/conf/13275227850.97707600_httpd_ip_default.include: Permission denied

Bu hatayi aliyorsanız cözümü için;

Selinux güvenlik servisini kapatmanız gerekmektedir. Gecici olarak kapatmak için aşagıdaki komutu kullanabilirsiniz(reboot ettiginizde tekrar aktif olucaktir bu secenekle)

servis acilimi kapalimi görmek için bu komutu kullanmanız gerekmektedir "getenforce" eger bu komutu kullandıgınızda cevap "Enforcing" ise servis aktiftir ve kapatmanız gerekmektedir , kapatmak için "setenforce 0" komutunu kullanabilirsiniz. Bu komutu kullandıgınızda tekrar "getenforce" komutuyla durumu kontrol ettiginizde "Permissive" cevabını almanız gerekmektedir. Permissive cevabını aliyorsanız problem giderilmiştir.

Selinux güvenlik servisini tamamen kapatmak içinse (bu secenek ile reboot edildiginde tekrar acilmaz) aşagıdaki işlemleri yapmalisiniz;

"nano /etc/selinux/config" komutuyla selinux config dosyasını acip "selinux=enforcing" yazan satiri "selinux=disabled" yapip kaydedip , sunucuyu restart etmeniz gerekmektedir.

Bu işlemlerden herhangi birisini yaptiginizda probleminiz tamamen ortadan kalkicaktir. 😉

12Mar/130

Eski joomla sürümlerinde php 5.3 hatasi Warning: Parameter 3 to showItem() expected to be a reference …

Merhaba;

Joomlanın eski sürümlerindeki php5.3 e gecişlerde cıkan Warning: Parameter 3 to showItem() expected to be a reference ... hatasının cözümü aşagidaki şekildedir.

/includes/Cache/Lite/Function.php:dosyanızdaki aşagıdaki satirları yenileriyle degiştirmeniz yeterli olucaktir.

1.
eski:  $result = call_user_func_array(array($class, $method), $arguments);
yeni:      $result = call_user_func_array(array($class, $method), &$arguments);
2.
eski:  $result = call_user_func_array(array($$object_123456789, $method), $arguments);
yeni:      $result = call_user_func_array(array($$object_123456789, $method), &$arguments);
3.
eski:  $result = call_user_func_array($target, $arguments);
yeni:      $result = call_user_func_array($target, &$arguments);
Umarim işinize yarar 😉
31Ağu/120

CentOS5 root Password Sıfırlama

  1. Sunucuyu yeniden başlatıyoruz.
  2. Grub boot bölümünde a harfine basıyoruz.
  3. Ekranda aşağıdaki gibi komut çıkacak ve en sonuna bir boşluk bırakarak single yazıp enter’ a basıyoruz.
    grub append> ro root=LABEL=/ single
  4. Sunucuyu single modda açılıyor sh-2.05b#  ekranına gelince passwd komutunu yazıp entera basıp yeni şifre tanımlayabiliriz.
  5. Sunucu yeniden başlatılarak normal modda açılır ve belirlediğimiz root şifresi ile sisteme giriş yapılır.
31Ağu/120

Debian root Password Sıfırlama

  1. Sunucuyu yeniden başlatıyoruz.
  2. Grub boot bölümün geldiğinde (mavi ekran) e harfine basıyoruz.
  3. Kernel i seçip e harfine basıyoruz.
  4. init=/bin/sh yazıp enter’e basıyoruz. Daha sonra b harfine basarak boot ediyoruz.
  5. Server single modda açıldığında aşağıdaki komutlar uygulanır.mount -o remount rw /

    passwd

31Ağu/120

Plesk Linux update sonrası Internal Server Error ve cgi_wrapper hatası çözümü

Linux Plesk kontrol paneli update sonrasında PHP servisinin düzgün çalışmaması sonucunda, web sitenizi girdiğiniz de “500 Internal Server Error” hatası ile karşılaşıyorsanız ve error_log dosyası üzerinden aşağıdaki hataları görüyorsanız, çözümü aşağıdaki gibidir.

SSH üzerinden aşağıdaki komutu çalıştırıp error_log dosyasının son 15 hata satırını listeleyebiliriz.

tail -fn 15 /var/www/vhosts/domainadi.com/statistics/logs/error_log

[Tue Jun 05 20:22:27 2012] [error] [client 212.68.53.54] suexec policy violation: see suexec log for more details
[Tue Jun 05 20:22:27 2012] [error] [client 212.68.53.54] Premature end of script headers: cgi_wrapper
[Tue Jun 05 20:22:28 2012] [error] [client 212.68.53.54] suexec policy violation: see suexec log for more details
[Tue Jun 05 20:22:28 2012] [error] [client 212.68.53.54] Premature end of script headers: cgi_wrapper

error_log dosyası çıktısında yukarıdaki hata mesajları mevcut ise aşağıdaki komutları SSH üzerinde çalıştırarak sorunu çözebilirsiniz.

cp /usr/sbin/suexec /usr/sbin/suexec.err

cp /usr/local/psa/suexec/psa-suexec /usr/sbin/suexec

chown root:apache /usr/sbin/suexec

chmod 4510 /usr/sbin/suexec
27Ağu/120

ERR Authentication failed (bad password?)

cPanel üzerinde tanımlı, bir mail hesabınız Outlook üzerinden mail alırken aşağıdaki hatayı alıyorsanız.

‘test@domainadi.com – Alınıyor’ görevi bir hata bildirdi (0x800CCC92) : ‘E-posta sunucunuz oturum açmanızı engelledi. Hesap Ayarları’nda bu hesaba yönelik kullanıcı adınızı ve parolanızı doğrulayın.  Sunucu yanıtı: -ERR Authentication failed (bad password?)’

Problem cPanel pop3 servisinin bozulmasın dan dolayıdır.

Çözüm için aşağıdaki işlemleri sırasıyla yapmanız yeterlidir.

cPanel yüklü olan sunucunuza SSH ile giriş sağladıktan sonra aşağıdaki komutları sırasıyla uygulayınız.

cd /etc/xinetd.d/

mv  popa3d popa3d.old;mv popa3ds popa3ds.old;service xinetd restart

/scripts/courierup -force

/scripts/eximup –force
 
Yukarıdaki işlemleri yaptıktan sonra probleminiz düzelecek ve tekrar Outlook üzerinden mail almaya başlayacaksınız.
27Ağu/120

Plesk “Hard Disk Quota is not supported” hatası ve cözümü

Hard disk quota MB Unlimited (hard disk quota is not supported due to configuration of server file system)

Plesk Linux Kontrol panel hard disk quota (disk kota) problem çözümü.

Hard disk kota desteğini etkileştirmek için yapılması gereken işlemler;

Linux sunucunuza erişim sağladıktan sonra aşağıdaki işlemleri tek tek uygulamamız gerekmektedir.

Öncelikle fstab dosyamızdan “usrquota” seçeneğini eklememiz gerekmektedir.

Bunun için aşağıdaki işlemleri uygulamamız yeterli olacaktır.

# nano -w /etc/fstab

Editör program yardımı /etc/ klasörünüm altındaki fstab dosyasını açıyoruz.

fstab dosyasının içindeki,  LABEL=/ kısmındaki defaults kısmının sonuna “usrquota” ekliyoruz ve dosyayı kaydedip çıkıyoruz.

Dosyayı kaydetmek için > ctrl+x sonra y sonra enter tuşuna basarak dosyayı kaydede biliriz.

Daha sonra komut satırında aşağıdaki komutları çalıştırınız.

# mount -o remount /
# quotaoff -av
# quotacheck -avum
# quotaon –av

Bu işlemlerin hepsini yaptıktan sonra problemimiz tamamen ortadan kalkmış olacaktır. İyi günler 😉

24Ağu/120

Postfix 587 Portunu Açma

Postfix mail server de alternatif 587 portunu aktif etmek için aşağıdaki işlemleri uygulayınız.

Öncelikle SSH ile portfix mail yazılımının bulunduğu makineye bağlanınız. Ve aşağıdaki işlemleri sırasıyla yapınız.

Editor program yardımıyla master.cf dosyasına giriş yapınız.

nano /etc/postfix/master.cf

master.cf dosyasına giriş yaptıktan sonra. Aşağıdaki satırı bulunuz.

smtp      inet  n       –       n       –       –       smtpd

Satırı bulduktan sonra hemen altına aşağıdaki satırı aynen ekleyiniz.

587       inet  n       –       n       –       –       smtpd

Gerekli satırı ekledikten sonra master.cf dosyasını kaydederek master.cf dosyasından çıkınız.

master.cf dosyasından alternatif olarak 587 portunu aktif ettik, 587 portunu aktif olarak kullanabilmemiz için  postfix mail server imizi restart edilmesi gerekmektedir..

Aşağıdaki komutu kullanarak postfix mail server mize restart işlemini uygulayabiliriz.

/etc/init.d/postfix restart

Restart işlemini de yaptıktan sonra 587 portumuz aktif duruma geldi. Bunu da test etmek için “telnet mailserverip 587″ yazarak test edebiliriz. Eğer aşağıdaki gibi yanıt alıyor isek 587 portumuz problemsiz bir şekilde çalışıyor demektedir.

[root@gas ~]# telnet localhost 587
Trying 127.0.0.1…
Connected to localhost.localdomain (127.0.0.1).
Escape character is ‘^]’.
220 mail.garantialsat.com ESMTP

[root@postfix~]# telnet localhost 587
Trying 127.0.0.1…
Connected to localhost.localdomain (127.0.0.1).
Escape character is ‘^]’.
220 mail.domainadi.com ESMTP

4Tem/120

Plesk panellerde tüm şifreleri değiştirip güncelleme

Bu işlemi hazir scriptle yapabilmekteyiz. Bu script sadece aşagıdaki sürümlerde çalişmaktadir.

  • Parallels Plesk Panel 9.x for Linux/Unix
  • Parallels Plesk Panel 8.x for Linux/Unix
  • Parallels Plesk Panel 10.x for Linux
  • Parallels Plesk Panel 9.x for Windows
  • Parallels Plesk Panel 8.x for Windows
  • Parallels Plesk Panel 10.x for Windows
  • Parallels Business Automation - Standard 4.2
  • Parallels Business Automation - Standard 4.1
  • Parallels Business Automation - Standard 4.0
  • Parallels Business Automation - Standard 3.3

Öncelikle bu scripti download ediyoruz. Sunucu içerisinde zipten cıkartıp aşagıdaki adimlari izliyoruz;

Not: Php.ini dosyasındaki exec fonksiyonun enabled olmasi gerekmektedir scriptin çalişabilmesi için.

disable_functions = "apache_child_terminate, apache_setenv, define_syslog_variables, escapeshellarg, escapeshellcmd, eval, exec, ... , mysql_pconnect"

Linuxler için aşagıdaki komutu kullanıyoruz

# php -d open_basedir=  -d safe_mode=0 plesk_password_changer.php `cat /etc/psa/.psa.shadow` ['new admin password'] [options]

Windowslar için aşagıdaki komutu kullanıyoruz

"%plesk_dir%\additional\PleskPHP5\php.exe" -d open_basedir= -d safe_mode=0 plesk_password_changer.php <old admin password> [new admin password] [options]

Hangi şifreleri degiştirebiliceginizi secebilirsiniz.
--all - [default] Tüm şifreleri yeniden olusturur
--admin - Sadece admin parolasini degiştirir
--resellers - Sadece bayi parolalarini degiştirir
--clients - Sadece müşteri parolalarını degiştirir
--domains - Domain ftp şifrelerini degiştirir
--domainadmins - Plesk panel giriş müşteri şifresini degiştirir
--users - Hosting panel kullanıcılarının şifresini degiştirir
--additionalftpaccounts - Ftp şifrelerini degiştirir.
--subdomains - Subdomain şifrelerini degiştirir
--webusers - İnternet kullanıcılarının şifresini degiştirir
--mailaccounts -Mail kullanıcılarının şifrelerini degiştirir.

Örnek

php -d open_basedir= -d safe_mode=0 plesk_password_changer.php `cat /etc/psa/.psa.shadow` # means that passwords for all PP entities will be reset, password for admin will be generated automatically
php -d open_basedir= -d safe_mode=0 plesk_password_changer.php `cat /etc/psa/.psa.shadow`  --domains # means that passwords for main FTP account of domains only
php -d open_basedir= -d safe_mode=0 plesk_password_changer.php `cat /etc/psa/.psa.shadow` 's3$ret!' --admin --clients # means that passwords for admin and clients will be reset, password for admin will be "s3$ret!" (without quotes)
php -d open_basedir= -d safe_mode=0 plesk_password_changer.php `cat /etc/psa/.psa.shadow` 's3$ret!' # means that passwords for all PP entities will be reset, password for admin will be "s3$ret!" (without quotes)

Not:
Admin şifresi yeniden olusturulacaktir eğer  <new admin password> belirlenmemişse.
Script güncelledigi tüm yenilikleri ve şifreleri  new_plesk_passwords.csv dosyasına kaydeder.

Çıktı örnekleri

[2011-10-11 11:30:55][INFO] ==> Installed Plesk version/build: 10.4.4 Debian 5.0 1013111102.18

[2011-10-11 11:30:55][INFO] ==> Detect system configuration
[2011-10-11 11:30:55][INFO] OS: Debian GNU/Linux 5.0 \n \l
[2011-10-11 11:30:55][INFO] Arch: i386

[2011-10-11 11:30:55][INFO] ==> Validate given db password
[2011-10-11 11:30:55][INFO] Result: OK

[2011-10-11 11:30:55][INFO] ==> Plesk Password Changer version: 10.4.0.23

[2011-10-11 11:30:55][INFO] ==> STEP 1: Change password for resellers...
[2011-10-11 11:30:56][INFO] Reseller login: res1 Email: reseller1@mail.com New password: Ajx3J4cHDjaG
[2011-10-11 11:30:57][INFO] Reseller login: res2 Email:
reseller2@mail.com New password: Ua7TPxc6lsk9

[2011-10-11 11:30:57][INFO] ==> STEP 2: Change password for clients...
[2011-10-11 11:30:58][INFO] Client login: cl1 Email: client1@mail.com New password: qiCJJd1525Im
[2011-10-11 11:30:59][INFO] Client login: cl2 Email:
client2@mail.com New password: LwrWpt4ybPxb

[2011-10-11 11:30:59][INFO] ==> STEP 3: Change password for users...
[2011-10-11 11:31:09][INFO] Hosting Panel User: mail1@domain.com New password: xtV2hsPy1Drj
[2011-10-11 11:31:15][INFO] Hosting Panel User: user1@
domain2.com New password: NZGheFAsHTFn
[2011-10-11 11:31:17][INFO] Hosting Panel User: user1@domain3.tld New password: Pg7bgQ3hTrCx
[2011-10-11 11:31:18][INFO] Hosting Panel User: admin@gmail.com New password: nCkE17PhvG8h

[2011-10-11 11:31:18][INFO] ==> STEP 4: Change password for FTP users of domains...
[2011-10-11 11:31:20][INFO] FTP user ftp1 for domain
domain.com New password: 9cmlKwXKjfv7
[2011-10-11 11:31:22][INFO] FTP user ftp2 for domain
domain2.com New password: RZG9G7ZxbOVS
[2011-10-11 11:31:24][INFO] FTP user ftp3 for domain
domain3.com New password: 5VKX83JwAb47
[2011-10-11 11:31:26][INFO] FTP user ftp4 for domain
domain4.com New password: md3XuAfxgLAa

[2011-10-11 11:31:26][INFO] ==> STEP 5: Change password for additional FTP accounts...
[2011-10-11 11:31:28][INFO] Domain:
domain4.com Additional FTP account: addftp1 New password: 5gsVrBlW8jjs

[2011-10-11 11:31:28][INFO] ==> STEP 6: Change password for mail accounts...
[2011-10-11 11:31:29][INFO] Mail account: justemail@
domain.com New password: Rgfi3SJTTkps
[2011-10-11 11:31:30][INFO] Mail account: justEmail@
domain2.com New password: OQcr9VtxOyGc

[2011-10-11 11:31:30][INFO] ==> STEP 7: Change password for web users of domains...
[2011-10-11 11:31:31][INFO] Web user wu1 for domain
domain2.com New password: wrBX6dChkUXG
[2011-10-11 11:31:33][INFO] Web user wu2 for domain
domain2.com New password: 870jUPoN06qc

[2011-10-11 11:31:33][INFO] ==> STEP 8: Change password for admin...
nohup: redirecting stderr to stdout
mysqld_safe[4677]: started
mysqld_safe[4696]: ended
[2011-10-11 11:31:55][INFO] Admin new password: ngtt5PmQfcgW

Found errors: 0; Found Warnings: 0

Üstteki işlemleri uyguladıgınızda örneklerdede görüldügü gibi acıklamalar dahilinde plesk panelinizdeki tüm şifreleri güncelleyebilirsiniz.

 

 

 

Copy Protected by Chetan's WP-Copyprotect.