WHM/cPanel Tabanlı Sunucularda Tüm Kullanıcıların Cron larını Listeleme

WHM/cPanel Tabanlı Sunucularda Tüm Kullanıcıların Cron larını Listeleme

Binlerce kullanıcılı bir Cpanel kurulu sunucu yönettiğimizi düşünelim , bazen sunucularda öngörmediğimiz durumlar periyodik olarak gerçekleşebilir ve bu da akla bir cron tanımı olabileceği şüphesi uyandırır , böyle durumlarda belli komutlar ile elde ettiğiniz veriler sonucu bazı kullanıcılar üzerinde yoğunlaşırsınız ve bu durumda yapılan işlemlerden biri de o kullanıcın zamanlanmış görevlerini incelemektir , bu hengamenin içinde nasıl tüm kullanıcıların cron tanımlarını tek seferde görebiliriz diye düşünürken aşağıdaki komutla bunu yapabileceğimizi düşündüm , umarım faydalı olur.

for user in $(cut -f1 -d: /etc/passwd); do crontab -u $user -l; done

Ayhan ARDA

The system received an error from the “MySQL” database “mysql”: ER_PASSWORD_NO_MATCH (Can’t find any matching row in the user table) hatası ve çözümü

Genellikle cpanel de mysql veritabanı ve kullanıcısı oluşturmaya çalışırken aşağıdaki hatayı alabilirsiniz.

The system received an error from the “MySQL” database “mysql”: ER_PASSWORD_NO_MATCH (Can’t find any matching row in the user table)

Bu durumda yapmanız gereken şey my.cnf dosyanızda skip-name-resolve satırını kapatmanız.

nano /etc/my.cnf

skip-name-resolve

#skip-name-resolve

service mysql restart

Tekrar mysql oluşturduğunuzda bu hatayı almayacaksınız.

Ayhan ARDA

cutycapt: cannot connect to X server hatası ve çözümü

cutycapt: cannot connect to X server hatası ve çözümü

Bir url listesinin screenshot larını almam gerekti ve bunun için çözüm ararken cutycapt denemeye karar vermiştim ancak bir bsit bir linux vps te x screen olmadığı için ssh tan komutu çalıştırdığımda “cutycapt: cannot connect to X server” hatası aldım. Tabi cahillik olsa gerek hızlıc bir çok deneysel çözüm denedim ancak hatadan kurtulmanın en kolay çözümü benim için xvfb kurmaktan geçti.

root@ayhanarda:/home/arda# cutycapt –url=http://www.ayhanarda.com/ –out=ayhanarda.png
cutycapt: cannot connect to X server

root@ayhanarda:/home/arda# apt-get install xvfb

Yukarıdaki komut ubuntu debian türevleri için , eğer centos redhat kullanıyor iseniz yum install xvfb kullanabilirsiniz. Tabi artık cutycat ı kullanma komutumuz da değişiyor , şimdi artık aşağıdaki komut örneğini kullanabilirsiniz.

root@ayhanarda:/home/arda# xvfb-run –server-args=”-screen 0, 1280x1200x24″ cutycapt –url=http://www.hostrazzi.com –out=hostrazzi.png

bash: column: command not found hatası ve çözümü

Bazen linux te birden fazla dosyayı birleştirip tek dosyada göstermek isteriz ve bunu genelde paste komutu ile yaparız ancak bu komut sütün ayrımı yapmaksızın işlem yapıyor , yani bir dosyadaki satır sayısı az ise sonraki dosyadaki satır sayısı fazla ise onları anlamsız şekilde birleştiriyor , bu durumda column ile ilgili bir komut kullanmamız gerekmekte ancak bu default kurulu gelmiyor ve dolayısı ile komuta eklediğinizde bash: column: command not found hatası alabiliyorsunuz.

Kurulumu için aşağıdaki komutu kullanabilirsiniz.

apt-get install bsdmainutils

Sonrasında komutunuzu tekrar kullanabilirsiniz , hatta dosya merge etme ya da birleştirme ile ilgili örnek komutu aşağıda bulabilirsiniz.

paste dosya1.txt dosya2.txt dosya3.txt dosya4.txt dosya5.txt | column -s $’\t’ -t > nutanix-ayhan.arda.txt

Ayhan ARDA

nutanix

Curl ile Nutanix Vm Listesi Çekme

Nutanix vm lerini Prism Central ile görebilmekteyiz lakin birden fazla nutanix iniz var ise her seferinde bu vm hangi nutanix te diye aramaktan ise tek bir komut ile çekebilirsiniz. Bunun birden fazla yolu var , cmdlet ile çekebilirsiniz , ncli ile çekebilirsiniz , ben bu yazıda curl ile nasıl çekilir onun bilgisini aktaracağım çünkü gün içinde çoğunlukla linux lerde bash arayüzündeyim. Merak konusu olur ise diğer yöntemleri yazabilirim.

Komutumuz aşağıdaki gibi olmalı , curl kurulu olmalı vs hiç demiyorum , kurulu olduğunu varsayıyorum , ama jq kurulumu yapar iseniz komut sağlıklı çalışacaktır. Jq nun amacı json dosyasını gerçek bir json gibi çekebilmek ya da görüntüleyebilmek içindir, böylece grep ile filtreleme yapar iken gerçekten satır aralamış olursunuz. Jq kurmak için muhtemelen ubuntu kullanıyor iseniz apt-get install jq komutu yeterli olacaktır.

root@ayhanarda.com:/home# curl –user admin:SIFREM –insecure -H “Content-Type: application/json” -H “Accept: application/json” https://NUTANIX_IP:9440/PrismGateway/services/rest/v2.0/vms/ > hamveri-ayhanarda.txt && jq ‘.’ hamveri-ayhanarda.txt | grep name
% Total % Received % Xferd Average Speed Time Time Time Current
Dload Upload Total Spent Left Speed
100 33516 0 33516 0 0 9842 0 –:–:– 0:00:03 –:–:– 9843
“name”: “hostrazzi.com-server1”,
“name”: “hostrazzi.com-server2”,
“name”: “hostrazzi.comelkserver”,
“name”: “hostrazzi.com-snmp”,
“name”: “fbi-tor-server”,
“name”: “nsa-hello-server”,
“name”: “emc2-gpu-server”,
“name”: “hostrazzi-sniff-server”,
“name”: “ayhanarda.com-server”,

Ayhan ARDA

proxy_fcgi error Connection reset by peer: Error dispatching request to hatası ve çözümü

Web sitenizde Service Unavailable hatası alıp loglarda aşağıdaki durumu görüyor iseniz,

[Thu Sep 07 15:00:55.194125 2016] [proxy_fcgi:error] [pid 3073:tid 139922543388416] (104)Connection reset by peer: [client x.x.x.x:47400] AH01075: Error dispatching request to :, referer: http://xxx.xxx/odeme/
[Thu Sep 07 15:01:04.991963 2016] [proxy_fcgi:error] [pid 3158:tid 139922526603008] (104)Connection reset by peer: [client x.x.x.x:47436] AH01075: Error dispatching request to :, referer: http://xxx.xxx/odeme/
[Thu Sep 07 15:05:34.736200 2016] [proxy_fcgi:error] [pid 3072:tid 139922694457088] (104)Connection reset by peer: [client x.x.x.x:48660] AH01075: Error dispatching request to :, referer: http://xxx.xxx/odeme/

Audit loglarınızda da loglar aşağıdaki gibi ise,

type=ANOM_ABEND msg=audit(1504783865.871:28198): auid=4294967295 uid=10160 gid=1004 ses=4294967295 pid=65221 comm=”php-fpm” reason=”memory violation” sig=11
type=ANOM_ABEND msg=audit(1504784074.897:28941): auid=4294967295 uid=10266 gid=1004 ses=4294967295 pid=66368 comm=”php-fpm” reason=”memory violation” sig=11
type=ANOM_ABEND msg=audit(1504784147.758:29233): auid=4294967295 uid=10266 gid=1004 ses=4294967295 pid=66823 comm=”php-fpm” reason=”memory violation” sig=11

bir ImageMagick bug ı ile karşı karşıyasınız demektir.

Sunucuzda aşağıdaki komutu çalıştırarak sorunu giderebilirsiniz.

rpm -e ImageMagick

Eğer bu yöntem işe yaramaz ise ,örneği Plesk kullandığınızı düşünelim , Ayarlar ve Php ayarları bölümünden Imagick in tikini kaldırıp tekrar deneyebilirsiniz. Sorun giderilmiş olacaktır. Multiphp kullanabiliyor iseniz php versiyon değiştirmeyi de deneyebilirsiniz.

Ayhan ARDA

Vesta panel kurulu sunucunun dns çözümleyememesi sorunu ve çözümü

Sunucunuz herhangi bir ip yi pingleyebiliyor ama isim çözemiyor durumda ise , /etc/resolv.conf dosyanızda ki dns serverlar erişilebilir durumda ise , iptables kullanıyor iseniz muhtemelen resolv.conf dosyanızda yazan ip lere doğru 53 portunun gidişine izin vermeniz gerekecektir.

Vesta iptables kural dizisini aşağıdaki şekilde görebilirsiniz.

nano $VESTA/data/firewall/rules.conf

Kural değiştirdikten sonra update etmek için aşağıdaki komutu kullanabilirsiniz.

vupdatefirewall

Örneğin resolv.conf dosyanızda google ın 8.8.8.8 ve 8.8.4.4 dns leri var , bu durumda aşağıdaki komutlar çalıştırabilirsiniz.

/sbin/iptables A OUTPUT p udp d 8.8.8.8 dport 53 m state state NEW,ESTABLISHED j ACCEPT

/sbin/iptables A INPUT  p udp s 8.8.8.8 sport 53 m state state ESTABLISHED     j ACCEPT

/sbin/iptables A OUTPUT p tcp d 8.8.4.4 dport 53 m state state NEW,ESTABLISHED j ACCEPT

/sbin/iptables A INPUT  p tcp s 8.8.4.4 sport 53 m state state ESTABLISHED     j ACCEPT

Bunu her seferinde tek tek yapmamak için küçük bir bash script kullanabilirsiniz. Örneği aşağıdaki gibidir.

#!/bin/bash
Firewall="/sbin/iptables"
 
# Ayhan ARDA - http://www.ayhanarda.com
DNS_SUNUCU=$(cat /etc/resolv.conf  | grep -v '^#' | grep nameserver | awk '{print $2}')
 
for ip in $DNS_SUNUCU
do
        echo "(tcp, udp port 53) '$ip' adresleri için izinler veriliyor"
        $Firewall -A OUTPUT -p udp -d $ip --dport 53 -m state --state NEW,ESTABLISHED -j ACCEPT
        $Firewall -A INPUT  -p udp -s $ip --sport 53 -m state --state ESTABLISHED     -j ACCEPT
        $Firewall -A OUTPUT -p tcp -d $ip --dport 53 -m state --state NEW,ESTABLISHED -j ACCEPT
        $Firewall -A INPUT  -p tcp -s $ip --sport 53 -m state --state ESTABLISHED     -j ACCEPT
done

Ayhan ARDA

scp: .ssh/authorized_keys: No such file or directory hatası ve çözümü

bash: /home/user/.ssh/authorized_keys: No such file or directory hatası ve çözümü
scp: .ssh/authorized_keys: No such file or directory

Muhtemelen bu hatayı şifresiz erişmek istediğiniz sunucuya scp ile key gönderirken alıyorsunuz ya da key i bir şekilde o sunucuya aktardınız ve authorized_keys dosyasına yazmak istediğinizde karşılaştınız.

Şifresiz erişmek istediğiniz sunucuya ssh ile erişin ve aşağıdaki komutları sıra ile çalıştırın , böylece gerekli izin hakları verilmiş şekilde authorized_keys dosyanız oluşturulacaktır.

root@ayhanarda:~# mkdir ~/.ssh
root@ayhanarda:~# chmod 700 ~/.ssh
root@ayhanarda:~# touch ~/.ssh/authorized_keys
root@ayhanarda:~# chmod 600 ~/.ssh/authorized_keys

Ayhan ARDA

A start job is running for raise network interfaces timeout süresi değiştirme

Ubuntu’da karşılaşılan bu durum ile ilgili timeout süresini değiştirmek ister iseniz aşağıdaki dosyayı açınız.

nano/lib/systemd/system/networking.service

Default değeri 5 dakika olarak gelir.

TimeoutStartSec=5min

Bu değeri örneğin 10 saniyeye çekelim. (Ki zaten cloud-init ten veri alabilir durumda ise hiç beklemeyecektir.

TimeoutStartSec=10sec

Ayhan ARDA

Ova’dan Vmdk’ya , Vmdk’dan Qcow2 ye dönüştürme işlemi

Elimizde bir .ova imajı olduğunu düşünelim , amacımız bu imajı proxmox , nutanix ya da herhangi qcow2 kullanabilen sanallaştırma platformlarında çalıştırmak olsun.

Önce .ova imajını genelde testler için kullandığım kali linux sunucuma indirdim.

root@kali-ayhanarda:/home/ayhanarda/test# ls -al
total 526960
drwxr-xr-x 2 root root 4096 Dec 9 04:41 .
drwxr-xr-x 3 root root 4096 Dec 9 04:40 ..
-rw-r–r– 1 root root 539592704 Dec 9 04:54 ayhanarda.ova

Sonra açıyorum ve vmdk dosyasını çıkartıyorum.

root@kali-ayhanarda:/home/ayhanarda/test# tar -xvf ayhanarda.ova
ayhanarda.ova.ovf
ayhanarda.ova.mf
ayhanarda.ova.vmdk

Vmdk yı elde ettik , şimdi bunu qcow2 ye çevireceğiz.

root@kali-ayhanarda:/home/ayhanarda/test#qemu-img convert -O qcow2 ayhanarda.vmdk ayhanarda.qcow2

İşlem sonunda dosyanın oluşup oluşmadığını doğrulayabiliriz.

root@kali-ayhanarda:/home/ayhanarda/test#ls -al | grep qcow2
-rw-r–r– 1 root root 1678835712 Dec 9 04:59 ayhanarda.qcow2

Ayhan ARDA