วิธีแก้ LOADING Redis is loading the dataset in memory

xvlnw   26 พฤศจิกายน 2018   ปิดความเห็น บน วิธีแก้ LOADING Redis is loading the dataset in memory

สำหรับผู้ที่ใช้งาน Redis Server แล้วใช้คำสั่ง redis-cli monitor แล้วขึ้นโชว์ “LOADING Redis is loading the dataset in memory” ให้ทำการแก้ไขดังนี้


redis-cli

127.0.0.1:6379> FLUSHALL

127.0.0.1:6379> exit

PHP เปลี่ยน DB Engine

xvlnw   15 พฤศจิกายน 2018   ปิดความเห็น บน PHP เปลี่ยน DB Engine

สำหรับฐานข้อมูลที่มีตารางเยอะๆ และ Engine ของตารางไม่เหมือนกัน หรือต้องการจะเปลี่ยนกลับไปกลับมา ระหว่าง MyISAM และ InnoDB สามารถทำได้ด้วยการใช้ PHP เข้ามาช่วย โดยคำสั่งนี้


<?php
// connect your database here first
//
$db_host = "localhost";
$db_user = "user";
$db_pass = "pass";
$db_name = "dbname";
mysql_connect($db_host, $db_user, $db_pass);
mysql_select_db($db_name);

// Actual code starts here

$sql = "SELECT TABLE_NAME FROM INFORMATION_SCHEMA.TABLES
WHERE TABLE_SCHEMA = '{$db_name}'
AND ENGINE = 'InnoDB'";

$rs = mysql_query($sql);

while($row = mysql_fetch_array($rs))
{
$tbl = $row[0];
$sql = "ALTER TABLE `$tbl` ENGINE=MyISAM;";
echo $sql, '<br>';
mysql_query($sql);
}
?>

จากด้านบน จะเป็นการ Query ตาราง InnoDBแล้วแก้ไขเป็น MyISAM หากต้องการทำกลับกัน ให้สลับตำแหน่งของ InnoDB และ MyISAM นะครับ

ฟรี iptables สำหรับ DirectAdmin

สำหรับ DA ที่ติดตั้งมาใหม่ๆ จะไม่มี iptables rule มาให้ เช่น block port, block bruteforce เป็นต้น สำหรับใครที่ต้องการ iptables เพื่อเสริมพลังความปลอดภัยให้กับระบบ DA รองรับ CentOS 6, CentOS 7 สามารถดูได้ตามลิงก์ตี้ https://help.directadmin.com/item.php?id=380

Note: ในกรณีที่ลิงก์ใช้งานไม่ได้ ให้ทำตามขั้นตอนนี้

สำหรับ CentOS 6 (init.d) เวอร์ชั่น 2.2


cd /etc/init.d
mv iptables iptables.backup
wget http://files.directadmin.com/services/all/block_ips/<span class="out1 c">2.2</span>/iptables
chmod 755 iptables

/etc/init.d/iptables restart

cd /usr/local/directadmin/scripts/custom
wget -O block_ip.sh http://files.directadmin.com/services/all/block_ips/<span class="out1 c">2.2</span>/block_ip.sh
wget -O show_blocked_ips.sh http://files.directadmin.com/services/all/block_ips/<span class="out1 c">2.2</span>/show_blocked_ips.sh
wget -O unblock_ip.sh http://files.directadmin.com/services/all/block_ips/<span class="out1 c">2.2</span>/unblock_ip.sh
chmod 700 block_ip.sh show_blocked_ips.sh unblock_ip.sh

touch /root/blocked_ips.txt
touch /root/exempt_ips.txt

cd /usr/local/directadmin/scripts/custom
wget -O brute_force_notice_ip.sh http://files.directadmin.com/services/all/block_ips/<span class="out1 c">2.2</span>/brute_force_notice_ip.sh
chmod 700 brute_force_notice_ip.sh

สำหรับ CentOS 7 (systemd) เวอร์ชั่น 2.2


systemctl mask firewalld
systemctl stop firewalld
yum -y install iptables-services
systemctl enable iptables

cd /usr/libexec/iptables
mv iptables.init iptables.init.backup
wget -O iptables.init http://files.directadmin.com/services/all/block_ips/<span class="out1 c">2.2</span>/iptables
chmod 755 iptables.init

systemctl reload iptables

cd /usr/local/directadmin/scripts/custom
wget -O block_ip.sh http://files.directadmin.com/services/all/block_ips/<span class="out1 c">2.2</span>/block_ip.sh
wget -O show_blocked_ips.sh http://files.directadmin.com/services/all/block_ips/<span class="out1 c">2.2</span>/show_blocked_ips.sh
wget -O unblock_ip.sh http://files.directadmin.com/services/all/block_ips/<span class="out1 c">2.2</span>/unblock_ip.sh
chmod 700 block_ip.sh show_blocked_ips.sh unblock_ip.sh

touch /root/blocked_ips.txt
touch /root/exempt_ips.txt

cd /usr/local/directadmin/scripts/custom
wget -O brute_force_notice_ip.sh http://files.directadmin.com/services/all/block_ips/<span class="out1 c">2.2</span>/brute_force_notice_ip.sh
chmod 700 brute_force_notice_ip.sh

DirectAdmin เปิดใช้งาน HTTP2

สำหรับ DirectAdmin เวอร์ชั่น 1.52 เป็นต้นไป จะมีตัวแปรเพิ่มขึ้นมาใน Template และการ Build นั่นคือ SPACE_HTTP2 เราสามารถเปิดใช้งาน http2 ได้ง่ายๆด้วยการตั้งค่าตามนี้


echo "http2=1" >> /usr/local/directadmin/conf/directadmin.conf

service directadmin restart

cd  /usr/local/directadmin/custombuild

./build rewrite_confs

เว็บทดสอบ HTTP2: https://tools.keycdn.com/http2-test

** สำหรับท่านใดที่ใช้งานไม่ได้ หรือไม่ขึ้น ให้ทำการ Build Webserver ที่ท่านใช้งานใหม่นะครับ

รวมคำสั่งและการตั้งค่า ClamAV – CentOS + DirectAdmin [CB2.0]

วิธีการติดตั้ง clamav ใน DA และตั้งค่าให้ scan Email และ FTP


cd /usr/local/directadmin/custombuild
./build set clamav yes
./build set clamav_exim yes
./build set pureftpd_uploadscan yes
./build set proftpd_uploadscan yes
./build clamav

การเปลี่ยน Database Server ให้โหลดฐานข้อมูลไวรัสได้เร็วขึ้น

แก้ไขไฟล์ /etc/freshclam.conf


//ค้นหา
DatabaseMirror database.clamav.net
//แก้ไขเป็น
DatabaseMirror clamav.sran.net

เพิ่มฐานข้อมูลไวรัส ทำให้ตรวจเจอไวรัสได้ดีขึ้น

แก้ไขไฟล์ /etc/freshclam.conf เพิ่มคำสั่งต่อไปนี้


DatabaseCustomURL http://www.rfxn.com/downloads/rfxn.ndb
DatabaseCustomURL http://www.rfxn.com/downloads/rfxn.hdb

จากนั้น รันคำสั่ง freshclam เพื่อให้ฐานข้อมูลไวรัสอัพเดตเป็นล่าสุด

รวมคำสั่ง clamav ทำการ scan ไวรัส


//No Images
clamscan --exclude='\.(jpg|jpeg|png|gif)$'
//To check all files on the computer, displaying the name of each file:
clamscan -r /
//To check all files on the computer, but only display infected files and ring a bell when found:
clamscan -r --bell -i /home
//To check files in the all users home directories:
clamscan -r /home
//To check files in the USER home directory and move infected files to another folder:
clamscan -r --move=/home/USER/VIRUS /home/USER
//To check files in the USER home directory and remove infected files (WARNING: Files are gone.):
clamscan -r --remove /home/USER
//To see more options:
clamscan --help

CentOS 6 คำสั่ง fsck -y ตอน boot อัตโนมัติ

ทดสอบแล้ว สำหรับ CentOS 6 เท่านั้น


touch /.autofsck
echo "-y" > /fsckoptions

** เอาไว้ใช้แก้ปัญหาในกรณี Disk มีปัญหา ไม่สามารถเขียนได้ (Read-Only) ทำให้ต้อง Reboot แล้วมันก็จะติด “Give root password for maintenance or press CTRL+D to continue” ใครจำ root password ได้ก็โชคดีไป ก็ใส่รหัสผ่าน แล้วใช้คำสั่ง fsck -y  ตามด้วย Drive ไป ก็จะแก้ไขได้ แต่ใครจำ root password ไม่ได้ งานนี้มีซวย บอกเลยครับ…!!

VMware vSAN คำสั่งดู Log-Congestion

รันใน Esxi Host ที่มีปัญหา Congestion ประเภท Log-Congestion เพื่อดูขนาดว่าปัจจุบัน Log มันเท่าไร


esxcli vsan storage list |grep -A1 "SSD: true" |grep UUID|awk '{print $3}'|while read i;do sumTotal=$(vsish -e get /vmkModules/lsom/disks/$i/info |grep "Log space consumed"|awk -F \: '{print $2}'|sed 'N;s/\n/ /'|awk '{print $1 + $2}');gibTotal=$(echo $sumTotal|awk '{print $1 / 1073741824}');echo "SSD \"$i\" total log space consumed: $gibTotal GiB";done

ค่าที่ได้ หน่วยจะเป็น GB หากเกิน 20GB ไปแล้ว ระวังความซวยจะมาเยือน โปรดหยุดกิจกรรมการเขียนข้อมูลใดๆ ถ้าเป็นไปได้ เพราะมันอาจจะทำให้ Host ค้างได้ และมันจะทำให้ Host อื่นๆค้างตามด้วยได้

CentOS ตั้งค่าอัพเตด Repo ประเทศไทย

สำหรับท่านที่ใช้งาน CentOS และมีปัญหาว่าตอน yum update หรือ yum install แล้วมันวิ่งไปดึงเอา repo จากต่างประเทศ แล้วทำให้ช้า ทั่งๆที่ใช้งานในประเทศไทย วิธีการแก้ไขปัญหานี้ ให้ใช้คำสั่งนี้


perl -pi -e "s/infra=.*/infra=$infra&cc=th/" /etc/yum.repos.d/*.repo;

สำหรับ Epal


perl -pi -e 's/arch=.*/arch=\$basearch&cc=th/' /etc/yum.repos.d/epel.repo;

แบบเบร็ดเสร็จ


perl -pi -e "s/infra=.*/infra=$infra&cc=th/" /etc/yum.repos.d/*.repo;
yum install epel-release -y;
perl -pi -e 's/arch=.*/arch=\$basearch&cc=th/' /etc/yum.repos.d/epel.repo;
yum update -y;

คำสั่งลบ Apps ที่ติดมากับ Windows

สำหรับผู้ที่ใช้งาน Windows เวลาลง Windows ใหม่ แล้วมันจะมีแอพต่างๆติดตั้งมาด้วย เช่น Mail, Skype, xbox, Etc. โดยปกติแล้วผมไม่ได้ใช้งานพวกนี้เลย และมันก็เปลืองทรัพยากรโดยใช่เหตุ สำหรับใครที่ต้องมานั่งลบหลังลง Windows ใหม่ทุกๆครั้ง สามารถใช้คำสั่งนี้ใน Windows PowerShell ได้เลย


Get-AppxPackage *3dbuilder* | Remove-AppxPackage
Get-AppxPackage *windowsalarms* | Remove-AppxPackage
Get-AppxPackage *windowscommunicationsapps* | Remove-AppxPackage
Get-AppxPackage *windowscamera* | Remove-AppxPackage
Get-AppxPackage *officehub* | Remove-AppxPackage
Get-AppxPackage *skypeapp* | Remove-AppxPackage
Get-AppxPackage *getstarted* | Remove-AppxPackage
Get-AppxPackage *zunemusic* | Remove-AppxPackage
Get-AppxPackage *windowsmaps* | Remove-AppxPackage
Get-AppxPackage *solitairecollection* | Remove-AppxPackage
Get-AppxPackage *bingfinance* | Remove-AppxPackage
Get-AppxPackage *zunevideo* | Remove-AppxPackage
Get-AppxPackage *bingnews* | Remove-AppxPackage
Get-AppxPackage *onenote* | Remove-AppxPackage
Get-AppxPackage *people* | Remove-AppxPackage
Get-AppxPackage *windowsphone* | Remove-AppxPackage
Get-AppxPackage *photos* | Remove-AppxPackage
Get-AppxPackage *windowsstore* | Remove-AppxPackage
Get-AppxPackage *bingsports* | Remove-AppxPackage
Get-AppxPackage *soundrecorder* | Remove-AppxPackage
Get-AppxPackage *bingweather* | Remove-AppxPackage
Get-AppxPackage *xboxapp* | Remove-AppxPackage