<?xml version="1.0"?>
<feed xmlns="http://www.w3.org/2005/Atom" xml:lang="en">
		<id>https://mywiki.romanost.co.il/api.php?action=feedcontributions&amp;feedformat=atom&amp;user=Meadmin</id>
		<title>My Wiki - User contributions [en]</title>
		<link rel="self" type="application/atom+xml" href="https://mywiki.romanost.co.il/api.php?action=feedcontributions&amp;feedformat=atom&amp;user=Meadmin"/>
		<link rel="alternate" type="text/html" href="https://mywiki.romanost.co.il/Special:Contributions/Meadmin"/>
		<updated>2026-04-16T14:37:42Z</updated>
		<subtitle>User contributions</subtitle>
		<generator>MediaWiki 1.27.4</generator>

	<entry>
		<id>https://mywiki.romanost.co.il/index.php?title=Useful_apps&amp;diff=99</id>
		<title>Useful apps</title>
		<link rel="alternate" type="text/html" href="https://mywiki.romanost.co.il/index.php?title=Useful_apps&amp;diff=99"/>
				<updated>2023-04-20T08:08:36Z</updated>
		
		<summary type="html">&lt;p&gt;Meadmin: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Useful apps&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
1. [https://github.com/tellerops/teller Teller] - Universal secret manager&lt;br /&gt;
&lt;br /&gt;
2. [https://github.com/kubeshark/kubeshark KubeShark] - API Traffic Analyzer for Kubernetes&lt;br /&gt;
&lt;br /&gt;
3. [https://github.com/biobootloader/wolverine Wolverine] - Run python with regenerative healing&lt;br /&gt;
&lt;br /&gt;
4. [https://github.com/k8sgpt-ai/k8sgpt K8Sgpt] - Scan your k8s in simple english&lt;br /&gt;
&lt;br /&gt;
5. [https://diagrams.mingrammer.com/ diagrams] - Diagrams as code&lt;/div&gt;</summary>
		<author><name>Meadmin</name></author>	</entry>

	<entry>
		<id>https://mywiki.romanost.co.il/index.php?title=Useful_apps&amp;diff=98</id>
		<title>Useful apps</title>
		<link rel="alternate" type="text/html" href="https://mywiki.romanost.co.il/index.php?title=Useful_apps&amp;diff=98"/>
				<updated>2023-03-30T08:07:03Z</updated>
		
		<summary type="html">&lt;p&gt;Meadmin: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Useful apps&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
1. [https://github.com/tellerops/teller Teller] - Universal secret manager&lt;br /&gt;
&lt;br /&gt;
2. [https://github.com/kubeshark/kubeshark KubeShark] - API Traffic Analyzer for Kubernetes&lt;br /&gt;
&lt;br /&gt;
3. [https://github.com/biobootloader/wolverine Wolverine] - Run python with regenerative healing&lt;br /&gt;
&lt;br /&gt;
4. [https://github.com/k8sgpt-ai/k8sgpt K8Sgpt] - Scan your k8s in simple english&lt;/div&gt;</summary>
		<author><name>Meadmin</name></author>	</entry>

	<entry>
		<id>https://mywiki.romanost.co.il/index.php?title=Useful_apps&amp;diff=97</id>
		<title>Useful apps</title>
		<link rel="alternate" type="text/html" href="https://mywiki.romanost.co.il/index.php?title=Useful_apps&amp;diff=97"/>
				<updated>2023-03-28T10:39:05Z</updated>
		
		<summary type="html">&lt;p&gt;Meadmin: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Useful apps&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
1. [https://github.com/tellerops/teller Teller] - Universal secret manager&lt;br /&gt;
&lt;br /&gt;
2. [https://github.com/kubeshark/kubeshark KubeShark] - API Traffic Analyzer for Kubernetes&lt;br /&gt;
&lt;br /&gt;
3. [https://github.com/biobootloader/wolverine Wolverine] - Run python with regenerative healing&lt;/div&gt;</summary>
		<author><name>Meadmin</name></author>	</entry>

	<entry>
		<id>https://mywiki.romanost.co.il/index.php?title=Useful_apps&amp;diff=96</id>
		<title>Useful apps</title>
		<link rel="alternate" type="text/html" href="https://mywiki.romanost.co.il/index.php?title=Useful_apps&amp;diff=96"/>
				<updated>2023-03-28T09:36:20Z</updated>
		
		<summary type="html">&lt;p&gt;Meadmin: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Useful apps&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
1. [https://github.com/tellerops/teller Teller]&lt;br /&gt;
&lt;br /&gt;
2. [https://github.com/kubeshark/kubeshark KubeShark]&lt;/div&gt;</summary>
		<author><name>Meadmin</name></author>	</entry>

	<entry>
		<id>https://mywiki.romanost.co.il/index.php?title=Useful_apps&amp;diff=95</id>
		<title>Useful apps</title>
		<link rel="alternate" type="text/html" href="https://mywiki.romanost.co.il/index.php?title=Useful_apps&amp;diff=95"/>
				<updated>2023-03-28T09:36:14Z</updated>
		
		<summary type="html">&lt;p&gt;Meadmin: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Useful apps&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
1. [https://github.com/tellerops/teller Teller]&lt;br /&gt;
2. [https://github.com/kubeshark/kubeshark KubeShark]&lt;/div&gt;</summary>
		<author><name>Meadmin</name></author>	</entry>

	<entry>
		<id>https://mywiki.romanost.co.il/index.php?title=Useful_apps&amp;diff=94</id>
		<title>Useful apps</title>
		<link rel="alternate" type="text/html" href="https://mywiki.romanost.co.il/index.php?title=Useful_apps&amp;diff=94"/>
				<updated>2023-02-08T09:37:58Z</updated>
		
		<summary type="html">&lt;p&gt;Meadmin: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Useful apps&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
1. [https://github.com/tellerops/teller Teller]&lt;/div&gt;</summary>
		<author><name>Meadmin</name></author>	</entry>

	<entry>
		<id>https://mywiki.romanost.co.il/index.php?title=Useful_apps&amp;diff=93</id>
		<title>Useful apps</title>
		<link rel="alternate" type="text/html" href="https://mywiki.romanost.co.il/index.php?title=Useful_apps&amp;diff=93"/>
				<updated>2023-02-08T09:37:15Z</updated>
		
		<summary type="html">&lt;p&gt;Meadmin: Created page with &amp;quot;Useful apps   1. Teller [https://github.com/tellerops/teller]&amp;quot;&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Useful apps&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
1. Teller [https://github.com/tellerops/teller]&lt;/div&gt;</summary>
		<author><name>Meadmin</name></author>	</entry>

	<entry>
		<id>https://mywiki.romanost.co.il/index.php?title=Main_Page&amp;diff=92</id>
		<title>Main Page</title>
		<link rel="alternate" type="text/html" href="https://mywiki.romanost.co.il/index.php?title=Main_Page&amp;diff=92"/>
				<updated>2023-02-08T09:36:24Z</updated>
		
		<summary type="html">&lt;p&gt;Meadmin: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&lt;br /&gt;
== List of content ==&lt;br /&gt;
&lt;br /&gt;
[[Windows]]&lt;br /&gt;
&lt;br /&gt;
[[Linux]]&lt;br /&gt;
&lt;br /&gt;
[[Dbs]]&lt;br /&gt;
&lt;br /&gt;
[[Mails]]&lt;br /&gt;
&lt;br /&gt;
[[Exim]]&lt;br /&gt;
&lt;br /&gt;
[[Dockers]]&lt;br /&gt;
&lt;br /&gt;
[[Kubernetes]]&lt;br /&gt;
&lt;br /&gt;
[[Yamls]]&lt;br /&gt;
&lt;br /&gt;
[[GCP]]&lt;br /&gt;
&lt;br /&gt;
[[OpenWRT]]&lt;br /&gt;
&lt;br /&gt;
[[Home Assistant]]&lt;br /&gt;
&lt;br /&gt;
[[Useful apps]]&lt;/div&gt;</summary>
		<author><name>Meadmin</name></author>	</entry>

	<entry>
		<id>https://mywiki.romanost.co.il/index.php?title=Linux&amp;diff=91</id>
		<title>Linux</title>
		<link rel="alternate" type="text/html" href="https://mywiki.romanost.co.il/index.php?title=Linux&amp;diff=91"/>
				<updated>2020-10-13T06:37:49Z</updated>
		
		<summary type="html">&lt;p&gt;Meadmin: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&lt;br /&gt;
== Wordpress login attack check ==&lt;br /&gt;
&lt;br /&gt;
 &amp;#039;&amp;#039;&amp;#039;Crontab :&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
 0 */6 * * *  sh /root/wplogin.sh&lt;br /&gt;
 &lt;br /&gt;
 &amp;#039;&amp;#039;&amp;#039;Script :&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
 #!/bin/bash&lt;br /&gt;
 &lt;br /&gt;
 ###start editing&lt;br /&gt;
 thold=&amp;quot;100&amp;quot;&lt;br /&gt;
 btime=&amp;quot;359m&amp;quot;&lt;br /&gt;
 ###stop editing&lt;br /&gt;
 &lt;br /&gt;
 egrep &amp;#039;wp-login.php&amp;#039; /usr/local/apache/domlogs/* | grep -v ftp_log | awk -F : &amp;#039;{print $2}&amp;#039; | awk &amp;#039;{print $1}&amp;#039; | sort | uniq -c | sort -n | awk -v limit=&amp;quot;$thold&amp;quot; &amp;#039;$1 &amp;gt; limit{print $2}&amp;#039; &amp;gt; $$_ip_$$&lt;br /&gt;
 &lt;br /&gt;
 while IFS= read -r line&lt;br /&gt;
         do&lt;br /&gt;
                 /usr/sbin/csf -td &amp;quot;$line&amp;quot;  &amp;quot;$btime&amp;quot; &amp;quot;banned for wordpress attack&amp;quot;&lt;br /&gt;
         done &amp;lt; $$_ip_$$&lt;br /&gt;
 rm -f $$_ip_$$&lt;br /&gt;
&lt;br /&gt;
== Prevent OOM killer ==&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Edit file /etc/sysctl.conf&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
 &lt;br /&gt;
 vm.overcommit_memory = 2 &lt;br /&gt;
 vm.overcommit_ratio = 100&lt;br /&gt;
&lt;br /&gt;
In case of bad memory usage (php out of memory) use this settings:&lt;br /&gt;
&lt;br /&gt;
 vm.overcommit_memory = 0&lt;br /&gt;
 vm.overcommit_ratio = 80&lt;br /&gt;
&lt;br /&gt;
== Who is using SWAP ==&lt;br /&gt;
 grep VmSwap /proc/*/status 2&amp;gt;/dev/null | sort -nk2 | tail -n5&lt;br /&gt;
&lt;br /&gt;
Print with the process command:&lt;br /&gt;
 grep VmSwap /proc/*/status 2&amp;gt;/dev/null | sort -nk2 | tail -n5|awk -F&amp;#039;/&amp;#039; &amp;#039;{cmd=&amp;quot;cat /proc/&amp;quot; $3 &amp;quot;/cmdline&amp;quot;; cmd|getline var; close (cmd); printf $0 &amp;quot;\t&amp;quot;; print var}&amp;#039;  &lt;br /&gt;
&lt;br /&gt;
== Plesk on CentOS 12 bind fix ==&lt;br /&gt;
&lt;br /&gt;
The problem was nginx was attempting to bind to port 443 before the IP was initialized.&lt;br /&gt;
&lt;br /&gt;
To fix edit the /etx/sysctl.conf file and add &lt;br /&gt;
 net.ipv4.ip_nonlocal_bind = 1&lt;br /&gt;
&lt;br /&gt;
== WHM replica ==&lt;br /&gt;
&lt;br /&gt;
 rsync -avz 192.168.1.122:/home/ /home/ --exclude=&amp;quot;virtfs&amp;quot; --exclude=&amp;quot;\.cp*&amp;quot; --exclude=&amp;quot;cpeasyapache&amp;quot; &lt;br /&gt;
 rsync -avz 192.168.1.122:/usr/local/apache/conf/ /usr/local/apache/conf/&lt;br /&gt;
 rsync -avz 192.168.1.122:/var/named/ /var/named/&lt;br /&gt;
 rsync -avz 192.168.1.122:/usr/local/cpanel/ /usr/local/cpanel/&lt;br /&gt;
 rsync -avz 192.168.1.122:/var/cpanel/ /var/cpanel&lt;br /&gt;
&lt;br /&gt;
 chkconfig cpanel off&lt;br /&gt;
 chkconfig exim off&lt;br /&gt;
 chkconfig dovecot off&lt;br /&gt;
 chkconfig pure-ftpd off&lt;br /&gt;
 chkconfig named off&lt;br /&gt;
 chkconfig mysql off&lt;br /&gt;
 chkconfig csf off&lt;br /&gt;
 chkconfig iptables off&lt;br /&gt;
&lt;br /&gt;
 hostname: /etc/sysconfig/network&lt;br /&gt;
&lt;br /&gt;
 change shared ip - You can change it in /etc/wwwacct.conf infront of ADDR parameter.&lt;br /&gt;
 change ip - Usage: /usr/local/cpanel/bin/setsiteip [-u user | domain] ip   (/etc/trueuserowners)&lt;br /&gt;
 rebuild httpd conf&lt;br /&gt;
 restart apache&lt;br /&gt;
&lt;br /&gt;
== Apache memory usage ==&lt;br /&gt;
&lt;br /&gt;
 ps -ylC httpd | awk &amp;#039;{x += $8;y += 1} END {print &amp;quot;Apache Memory Usage (MB): &amp;quot;x/1024; print &amp;quot;Average Proccess Size (MB): &amp;quot;x/((y-1)*1024)}&amp;#039;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Wordpress pingback ==&lt;br /&gt;
&lt;br /&gt;
Nginx:&lt;br /&gt;
&lt;br /&gt;
 # WordPress Pingback Request Denial&lt;br /&gt;
 if ($http_user_agent ~* &amp;quot;WordPress&amp;quot;) {&lt;br /&gt;
   return 403;&lt;br /&gt;
 }&lt;br /&gt;
&lt;br /&gt;
Apache:&lt;br /&gt;
&lt;br /&gt;
 BrowserMatchNoCase WordPress wordpress_ping&lt;br /&gt;
 BrowserMatchNoCase Wordpress wordpress_ping&lt;br /&gt;
 Order Deny,Allow&lt;br /&gt;
 Deny from env=wordpress_ping&lt;br /&gt;
&lt;br /&gt;
== Find big files and folders ==&lt;br /&gt;
&lt;br /&gt;
 find / -mount -type f -print0 2&amp;gt;/dev/null | xargs -0 du 2&amp;gt;/dev/null | grep -v &amp;quot;virtfs&amp;quot; | sort -n | tail -40 | cut -f2 | xargs -I{} du -sh 2&amp;gt;/dev/null {} | uniq; printf &amp;#039;+%.0s&amp;#039; {1..100}; echo; \&lt;br /&gt;
 find / -mount -type d -print0 2&amp;gt;/dev/null | xargs -0 du 2&amp;gt;/dev/null | grep -v &amp;quot;virtfs&amp;quot; | sort -n | tail -40 | cut -f2 | xargs -I{} du -sh 2&amp;gt;/dev/null {} | uniq; printf &amp;#039;+%.0s&amp;#039; {1..100}; echo; \&lt;br /&gt;
 du -sh /var/cpanel/user_notifications &amp;amp;&amp;amp; du -sh /backup/cpbackup/*/dirs/_var_cpanel/user_notifications&lt;br /&gt;
&lt;br /&gt;
== Rebuild Sophos when disk full ==&lt;br /&gt;
&lt;br /&gt;
 /etc/init.d/postgresql92 rebuild&lt;br /&gt;
&lt;br /&gt;
On older versions:&lt;br /&gt;
 /var/mdw/scripts/smtp stop&lt;br /&gt;
 dropdb -U postgres smtp&lt;br /&gt;
 createdb -U postgres smtp&lt;br /&gt;
 /var/mdw/scripts/smtp start&lt;br /&gt;
&lt;br /&gt;
== Clear allowed networks on Sophos ==&lt;br /&gt;
&lt;br /&gt;
Login to the Sophos&lt;br /&gt;
 Type ‘cc’&lt;br /&gt;
 In cc, you’ll be in MAIN, if not, type ‘MAIN’&lt;br /&gt;
 Type ‘webadmin&amp;#039;&lt;br /&gt;
 Type ‘allowed_networks@&amp;#039;&lt;br /&gt;
 =[&amp;#039;REF_NetworkAny&amp;#039;]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Most accessed sites in the last minute ==&lt;br /&gt;
&lt;br /&gt;
 cat &amp;lt;&amp;lt;&amp;#039;SCRIPT&amp;#039; &amp;gt;&amp;gt;/root/sitesLoad.sh&lt;br /&gt;
 &lt;br /&gt;
 #!/bin/bash&lt;br /&gt;
 &amp;lt;nowiki&amp;gt;if [[ `netstat -ntalp | grep :80 | awk &amp;#039;$4 ~ /:80/ {print $0;exit}&amp;#039; | grep -q httpd; echo $?` -ne 0 ]]; then echo &amp;quot;Main web server is not Apache. Exiting...&amp;quot;; exit 1; fi&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
 &lt;br /&gt;
 log=/tmp/hostPop&lt;br /&gt;
 i=0&lt;br /&gt;
 find /usr/local/apache/domlogs/ -type f -mmin -1 ! -group root -exec ls -l {} \+ | awk &amp;#039;{print $4, $9}&amp;#039; | column -t&amp;gt;$log&lt;br /&gt;
 &lt;br /&gt;
 while read line; do&lt;br /&gt;
 ((++i))&lt;br /&gt;
        arr[$i]=$i&lt;br /&gt;
        arr[$i*1000]=$(printf &amp;quot;$line&amp;quot; | awk &amp;#039;{print $1}&amp;#039;)&lt;br /&gt;
        arr[$i*1001]=$(printf &amp;quot;$line&amp;quot; | awk &amp;#039;{print $2}&amp;#039;)&lt;br /&gt;
        arr[$i*1002]=$(wc -l `echo $line | awk &amp;#039;{print $NF}&amp;#039;` | cut -d&amp;#039; &amp;#039; -f 1)&lt;br /&gt;
 done &amp;lt; &amp;lt;(cat $log)&lt;br /&gt;
 &lt;br /&gt;
 echo &amp;quot;Analyzing apache logs in realtime for 1 minute...&amp;quot;; sleep 60&lt;br /&gt;
 &lt;br /&gt;
 for (( var=1 ; var&amp;lt;=$i ; var++ ))&lt;br /&gt;
 do&lt;br /&gt;
        printf &amp;quot;${arr[$var*1000]} ${arr[$var*1001]} &amp;quot;&lt;br /&gt;
        echo $((`wc -l $(echo ${arr[$var*1001]}) | cut -d&amp;#039; &amp;#039; -f 1` - ${arr[$var*1002]}));&lt;br /&gt;
 done | sed -e &amp;#039;s/\/usr\/local\/apache\/domlogs\///g&amp;#039; | sort -nrk 3 | column -t&lt;br /&gt;
 &lt;br /&gt;
 SCRIPT&lt;br /&gt;
 chmod 700 /root/sitesLoad.sh &amp;amp;&amp;amp; /root/sitesLoad.sh&lt;br /&gt;
&lt;br /&gt;
== PHP.INI upload big files ==&lt;br /&gt;
&lt;br /&gt;
 ini_set(&amp;#039;upload_max_filesize&amp;#039;, &amp;#039;10M&amp;#039;);&lt;br /&gt;
 ini_set(&amp;#039;post_max_size&amp;#039;, &amp;#039;10M&amp;#039;);&lt;br /&gt;
 ini_set(&amp;#039;max_input_time&amp;#039;, 300);&lt;br /&gt;
 ini_set(&amp;#039;max_execution_time&amp;#039;, 300);&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Change permissions (chmod) to folders and files ==&lt;br /&gt;
&lt;br /&gt;
 find . -type d -exec chmod 755 {} +                  &lt;br /&gt;
 find . -type f -exec chmod 644 {} +                 &lt;br /&gt;
&lt;br /&gt;
== Disable IPv6 ==&lt;br /&gt;
&lt;br /&gt;
For current session:&lt;br /&gt;
 echo 1 &amp;gt; /proc/sys/net/ipv6/conf/&amp;lt;interface-name&amp;gt;/disable_ipv6&lt;br /&gt;
 echo 1 &amp;gt; /proc/sys/net/ipv6/conf/eth0/disable_ipv6&lt;br /&gt;
&lt;br /&gt;
Permanent:&lt;br /&gt;
 vi /etc/sysctl.conf&lt;br /&gt;
 net.ipv6.conf.all.disable_ipv6 = 1&lt;br /&gt;
 sudo sysctl -p /etc/sysctl.conf&lt;br /&gt;
&lt;br /&gt;
== Virtual box boot from USB ==&lt;br /&gt;
 VBoxManage internalcommands createrawvmdk -filename C:\usb.vmdk -rawdisk \\.\PhysicalDrive#&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== CSF GUI on ISPCONFIG 3 ==&lt;br /&gt;
Install old CSF (before 8.13)&lt;br /&gt;
&lt;br /&gt;
Copy the ISPCONFIG folder to /etc/csf/ and enable CSF in ISPCONFIG&lt;br /&gt;
&lt;br /&gt;
Backup csfui* files&lt;br /&gt;
&lt;br /&gt;
Upgrade CSF&lt;br /&gt;
&lt;br /&gt;
Copy backuped csfui* files back&lt;br /&gt;
&lt;br /&gt;
Run the following commands:&lt;br /&gt;
 sed -i &amp;#039;s/checkip/ConfigServer::CheckIP::checkip/g&amp;#039; /usr/local/csf/bin/csfui.pl&lt;br /&gt;
 sed -i &amp;#039;s/sanity(/ConfigServer::Sanity::sanity(/g&amp;#039; /usr/local/csf/bin/csfui.pl&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Max connections on Linux ==&lt;br /&gt;
&lt;br /&gt;
Add to /etc/sysctl.conf:&lt;br /&gt;
&lt;br /&gt;
 fs.file-max = 70000&lt;br /&gt;
 net.ipv4.tcp_tw_recycle=0&lt;br /&gt;
 net.ipv4.tcp_fin_timeout = 10&lt;br /&gt;
 net.ipv4.ip_local_port_range = 15000 61000&lt;br /&gt;
 net.core.somaxconn = 1024&lt;br /&gt;
 net.core.netdev_max_backlog = 2000&lt;br /&gt;
&lt;br /&gt;
== CSF configuration ==&lt;br /&gt;
&lt;br /&gt;
 ## Automated configuration:&lt;br /&gt;
 &lt;br /&gt;
 sed -i &amp;#039;s/TESTING = &amp;quot;1&amp;quot;/TESTING = &amp;quot;0&amp;quot;/&amp;#039; /etc/csf/csf.conf&lt;br /&gt;
 sed -i &amp;#039;s/RESTRICT_SYSLOG = &amp;quot;0&amp;quot;/RESTRICT_SYSLOG = &amp;quot;3&amp;quot;/&amp;#039; /etc/csf/csf.conf&lt;br /&gt;
 sed -i &amp;#039;s/IPV6 = &amp;quot;1&amp;quot;/IPV6 = &amp;quot;0&amp;quot;/&amp;#039; /etc/csf/csf.conf&lt;br /&gt;
 sed -i &amp;#039;s/IGNORE_ALLOW = &amp;quot;0&amp;quot;/IGNORE_ALLOW = &amp;quot;1&amp;quot;/&amp;#039; /etc/csf/csf.conf&lt;br /&gt;
 sed -i &amp;#039;s/CONNLIMIT = &amp;quot;&amp;quot;/CONNLIMIT = &amp;quot;22;5,80;70&amp;quot;/&amp;#039; /etc/csf/csf.conf&lt;br /&gt;
 sed -i &amp;#039;s/PORTFLOOD = &amp;quot;&amp;quot;/PORTFLOOD = &amp;quot;22;tcp;5;300,80;tcp;100;1,443;tcp;100;5&amp;quot;/&amp;#039; /etc/csf/csf.conf&lt;br /&gt;
 sed -i &amp;#039;s/CT_LIMIT = &amp;quot;0&amp;quot;/CT_LIMIT = &amp;quot;300&amp;quot;/&amp;#039; /etc/csf/csf.conf&lt;br /&gt;
  &lt;br /&gt;
 ## Disable LFD alerts: Only if you want to disable them!!&lt;br /&gt;
 &lt;br /&gt;
 sed -i &amp;#039;s/LF_EMAIL_ALERT = &amp;quot;1&amp;quot;/LF_EMAIL_ALERT = &amp;quot;0&amp;quot;/&amp;#039; /etc/csf/csf.conf&lt;br /&gt;
 sed -i &amp;#039;s/LF_SSH_EMAIL_ALERT = &amp;quot;1&amp;quot;/LF_SSH_EMAIL_ALERT = &amp;quot;0&amp;quot;/&amp;#039; /etc/csf/csf.conf&lt;br /&gt;
 sed -i &amp;#039;s/LF_SU_EMAIL_ALERT = &amp;quot;1&amp;quot;/LF_SU_EMAIL_ALERT = &amp;quot;0&amp;quot;/&amp;#039; /etc/csf/csf.conf&lt;br /&gt;
 sed -i &amp;#039;s/LF_WEBMIN_EMAIL_ALERT = &amp;quot;1&amp;quot;/LF_WEBMIN_EMAIL_ALERT = &amp;quot;0&amp;quot;/&amp;#039; /etc/csf/csf.conf&lt;br /&gt;
 sed -i &amp;#039;s/LF_CONSOLE_EMAIL_ALERT = &amp;quot;1&amp;quot;/LF_CONSOLE_EMAIL_ALERT = &amp;quot;0&amp;quot;/&amp;#039; /etc/csf/csf.conf&lt;br /&gt;
 sed -i &amp;#039;s/LT_EMAIL_ALERT = &amp;quot;1&amp;quot;/LT_EMAIL_ALERT = &amp;quot;0&amp;quot;/&amp;#039; /etc/csf/csf.conf&lt;br /&gt;
 sed -i &amp;#039;s/CT_EMAIL_ALERT = &amp;quot;1&amp;quot;/CT_EMAIL_ALERT = &amp;quot;0&amp;quot;/&amp;#039; /etc/csf/csf.conf&lt;br /&gt;
 sed -i &amp;#039;s/PS_EMAIL_ALERT = &amp;quot;1&amp;quot;/PS_EMAIL_ALERT = &amp;quot;0&amp;quot;/&amp;#039; /etc/csf/csf.conf&lt;br /&gt;
 &lt;br /&gt;
 ## Disable PT alerts: Only if you want to disable them!!&lt;br /&gt;
 &lt;br /&gt;
 sed -i &amp;#039;s/PT_USERPROC = &amp;quot;10&amp;quot;/PT_USERPROC = &amp;quot;0&amp;quot;/&amp;#039; /etc/csf/csf.conf&lt;br /&gt;
 sed -i &amp;#039;s/PT_USERMEM = &amp;quot;256&amp;quot;/PT_USERMEM = &amp;quot;0&amp;quot;/&amp;#039; /etc/csf/csf.conf&lt;br /&gt;
 sed -i &amp;#039;s/PT_USERTIME = &amp;quot;1800&amp;quot;/PT_USERTIME = &amp;quot;0&amp;quot;/&amp;#039; /etc/csf/csf.conf&lt;br /&gt;
 sed -i &amp;#039;s/PT_USERKILL_ALERT = &amp;quot;1&amp;quot;/PT_USERKILL_ALERT = &amp;quot;0&amp;quot;/&amp;#039; /etc/csf/csf.conf&lt;br /&gt;
 sed -i &amp;#039;s/PT_LOAD = &amp;quot;30&amp;quot;/PT_LOAD = &amp;quot;0&amp;quot;/&amp;#039; /etc/csf/csf.conf&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Rescan drives ==&lt;br /&gt;
&lt;br /&gt;
 echo &amp;quot;- - -&amp;quot; &amp;gt; /sys/class/scsi_host/host0/scan&lt;br /&gt;
&lt;br /&gt;
 echo 1 &amp;gt; /sys/class/scsi_device/2\:0\:0\:0/device/rescan&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Find PTR owner - reversal ==&lt;br /&gt;
&lt;br /&gt;
 dig 0.168.192.in-addr.arpa. NS&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Fix locales in Ubuntu ==&lt;br /&gt;
 locale-gen en_US.UTF-8&lt;br /&gt;
 dpkg-reconfigure locales&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Change permissions to all files and folders ==&lt;br /&gt;
 chown `stat -c %U .`.`stat -c %U .` * -R&lt;br /&gt;
&lt;br /&gt;
== Open last edited file ==&lt;br /&gt;
 less `ls -dx1tr /usr/local/cpanel/logs/cpbackup/*|tail -1`&lt;br /&gt;
&lt;br /&gt;
== Clear cache and swap ==&lt;br /&gt;
 echo 3 &amp;gt; /proc/sys/vm/drop_caches &amp;amp;&amp;amp; swapoff -a &amp;amp;&amp;amp; swapon -a&lt;br /&gt;
&lt;br /&gt;
== Disable core files in CPanel accounts ==&lt;br /&gt;
&lt;br /&gt;
Add this in /etc/sysctl.conf&lt;br /&gt;
 kernel.core_uses_pid = 0&lt;br /&gt;
 kernel.core_pattern = /dev/null&lt;br /&gt;
&lt;br /&gt;
And run:&lt;br /&gt;
 sysctl -p&lt;br /&gt;
&lt;br /&gt;
== Add HSTS support in CPANEL ==&lt;br /&gt;
 cp -p /var/cpanel/templates/apache2_4/ssl_vhost.default /var/cpanel/templates/apache2_4/ssl_vhost.local&lt;br /&gt;
 vi /var/cpanel/templates/apache2_4/ssl_vhost.local&lt;br /&gt;
&lt;br /&gt;
Edit:&lt;br /&gt;
 &amp;lt;VirtualHost[% FOREACH ipblock IN vhost.ips %] [% ipblock.ip %]:[% ipblock.port %][% END %]&amp;gt;&lt;br /&gt;
  # Enable HTTP Strict Transport Security&lt;br /&gt;
  Header always set Strict-Transport-Security &amp;quot;max-age=63072000; includeSubdomains;&amp;quot;&lt;br /&gt;
&lt;br /&gt;
 cp -p /var/cpanel/templates/apache2_4/main.default /var/cpanel/templates/apache2_4/main.local&lt;br /&gt;
 vi /var/cpanel/templates/apache2_4/main.local&lt;br /&gt;
&lt;br /&gt;
Edit:&lt;br /&gt;
 [% IF main.sslprotocol.item.sslprotocol.length %]SSLProtocol [% main.sslprotocol.item.sslprotocol %][% END %]&lt;br /&gt;
 SSLHonorCipherOrder on&lt;br /&gt;
&lt;br /&gt;
Run:&lt;br /&gt;
 /scripts/rebuildhttpdconf&lt;br /&gt;
 service httpd restart&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Install mod_pagespeed on WHM ==&lt;br /&gt;
&lt;br /&gt;
With EA3:&lt;br /&gt;
 /usr/local/cpanel/3rdparty/bin/git clone https://github.com/pagespeed/cpanel.git /tmp/pagespeed/&lt;br /&gt;
 cd /tmp/pagespeed/Easy&lt;br /&gt;
 tar -zcvf Speed.pm.tar.gz pagespeed&lt;br /&gt;
 mkdir -p /var/cpanel/easy/apache/custom_opt_mods/Cpanel/Easy&lt;br /&gt;
 mv Speed.pm Speed.pm.tar.gz -t /var/cpanel/easy/apache/custom_opt_mods/Cpanel/Easy/&lt;br /&gt;
 cd &amp;amp;&amp;amp; rm -rf /tmp/pagespeed&lt;br /&gt;
&lt;br /&gt;
With EA4:&lt;br /&gt;
&lt;br /&gt;
Create file /etc/rpm/macros.apache2 and add the following lines of code exactly as below&lt;br /&gt;
 %_httpd_mmn 20120211x8664&lt;br /&gt;
 %_httpd_apxs /usr/bin/apxs&lt;br /&gt;
 %_httpd_dir /etc/apache2&lt;br /&gt;
 %_httpd_bindir %{_httpd_dir}/bin&lt;br /&gt;
 %_httpd_modconfdir %{_httpd_dir}/conf.modules.d&lt;br /&gt;
 %_httpd_confdir %{_httpd_dir}/conf.d&lt;br /&gt;
 %_httpd_contentdir /usr/share/apache2&lt;br /&gt;
 %_httpd_moddir /usr/lib64/apache2/modules&lt;br /&gt;
&lt;br /&gt;
Next run the following commands in order, make sure you run each command on it’s own&lt;br /&gt;
 rm -rf /root/rpmbuild/RPMS/x86_64/&lt;br /&gt;
 wget https://github.com/pagespeed/cpanel/raw/master/EA4/ea-apache24-mod_pagespeed-latest-stable.src.rpm&lt;br /&gt;
 rpmbuild --rebuild ea-apache24-mod_pagespeed-latest-stable.src.rpm&lt;br /&gt;
 rpm -Uvh /root/rpmbuild/RPMS/x86_64/ea-apache24-mod_pagespeed*.rpm&lt;br /&gt;
 /etc/init.d/httpd restart&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Resize root partition without reboot ==&lt;br /&gt;
&lt;br /&gt;
Resize HD size in VC&lt;br /&gt;
Run: (replace the device if needed)&lt;br /&gt;
 echo 1 &amp;gt; /sys/class/scsi_device/2\:0\:0\:0/device/rescan&lt;br /&gt;
 run fdisk:&lt;br /&gt;
print the old partition and save the output&lt;br /&gt;
delete the root partition&lt;br /&gt;
create a new partition using the SAME start block and make sure that the end block is higher than previous one (enter, enter, enter…)&lt;br /&gt;
write changes (ignore error)&lt;br /&gt;
run:&lt;br /&gt;
 partx -u /dev/sda&lt;br /&gt;
 resize2fs -f /dev/sda3&lt;br /&gt;
Make sure everything is OK:&lt;br /&gt;
 df -h&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Delete files with a large file list - Argument list too long ==&lt;br /&gt;
 find . -name &amp;#039;*&amp;#039;|xargs rm&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Show all domains in NGINX configuration ==&lt;br /&gt;
&lt;br /&gt;
 grep -e &amp;quot;^\s*server_name&amp;quot; /etc/nginx/conf.d/*|sed -e &amp;#039;s/[\t ]*server_name//g;&amp;#039;|sed -e &amp;quot;s/ /\+/g&amp;quot;|sed -e &amp;#039;s/;//g&amp;#039;|while read line; do for i in $line; do echo -n &amp;quot;$i &amp;quot;|sed -e &amp;#039;s/://&amp;#039;  -e &amp;#039;s/\+/\n  |--/g&amp;#039;; done ;echo; done; echo&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Kill process that runs more than X time ==&lt;br /&gt;
&lt;br /&gt;
Kill cgi after 30 secs:&lt;br /&gt;
 for i in `ps -eo pid,etime,cmd|grep cgi|awk &amp;#039;$2 &amp;gt; &amp;quot;00:30&amp;quot; {print $1}&amp;#039;`; do kill $i; done&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Unblock Invalid packets in CSF ==&lt;br /&gt;
 # Drop out of order packets and packets in an INVALID state in iptables&lt;br /&gt;
 # connection tracking&lt;br /&gt;
 PACKET_FILTER = &amp;quot;0&amp;quot;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Who uses RAM ==&lt;br /&gt;
&lt;br /&gt;
 ps aux  | awk &amp;#039;{print $6/1024 &amp;quot; MB\t\t&amp;quot; $11}&amp;#039;  | sort -n&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Fix WHM/CPanel templates  ==&lt;br /&gt;
&lt;br /&gt;
 cp /usr/local/apache/conf/httpd.conf{,.cptech-`date +%Y%m%d`}&lt;br /&gt;
 mv /var/cpanel/templates/apache2_4/vhost.local /var/cpanel/templates/apache2_4/vhost.local.bak&lt;br /&gt;
 mv /var/cpanel/templates/apache2_4/ssl_vhost.local /var/cpanel/templates/apache2_4/ssl_vhost.local.bak&lt;br /&gt;
 /scripts/rebuildhttpdconf&lt;br /&gt;
 /scripts/restartsrv_httpd&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Fix NFS mount on boot - Centos 7 ==&lt;br /&gt;
&lt;br /&gt;
Append text to the end of /usr/lib/systemd/system/nfs-idmap.service&lt;br /&gt;
 [Install]&lt;br /&gt;
 WantedBy=multi-user.target&lt;br /&gt;
&lt;br /&gt;
Append text to the end of /usr/lib/systemd/system/nfs-lock.service&lt;br /&gt;
 [Install]&lt;br /&gt;
 WantedBy=nfs.target&lt;br /&gt;
&lt;br /&gt;
Enable related services&lt;br /&gt;
&lt;br /&gt;
 systemctl enable nfs-idmapd.service &lt;br /&gt;
 systemctl enable rpc-statd.service &lt;br /&gt;
 systemctl enable rpcbind.socket&lt;br /&gt;
&lt;br /&gt;
Reboot the server&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Login to WHM with link ==&lt;br /&gt;
&lt;br /&gt;
 whmapi1 create_user_session user=root service=whostmgrd locale=en&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Update date and time on Linux server ==&lt;br /&gt;
&lt;br /&gt;
 sudo ntpd -qg; sudo hwclock -w&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Clone Linux user ==&lt;br /&gt;
&lt;br /&gt;
 #!/bin/bash&lt;br /&gt;
 SRC=$1&lt;br /&gt;
 DEST=$2&lt;br /&gt;
 &lt;br /&gt;
 SRC_GROUPS=$(id -Gn ${SRC} | sed &amp;quot;s/${SRC} //g&amp;quot; | sed &amp;quot;s/ ${SRC}//g&amp;quot; | sed &amp;quot;s/ /,/g&amp;quot;)&lt;br /&gt;
 SRC_SHELL=$(awk -F : -v name=${SRC} &amp;#039;(name == $1) { print $7 }&amp;#039; /etc/passwd)&lt;br /&gt;
 &lt;br /&gt;
 useradd --groups ${SRC_GROUPS} --shell ${SRC_SHELL} --create-home ${DEST}&lt;br /&gt;
 passwd ${DEST}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Reload VM after UUID change ==&lt;br /&gt;
&lt;br /&gt;
 vim-cmd vmsvc/getallvms&lt;br /&gt;
 vim-cmd vmsvc/reload $vmID&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Size of suspended accounts in WHM ==&lt;br /&gt;
 for i in `whmapi1 listsuspended|grep user|cut -d: -f2`; do echo &amp;quot;Suspended account: $i - using&amp;quot; `whmapi1 listaccts search=$i searchtype=user|grep diskused|cut -d: -f2`; done&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Clear BOOT on Ubuntu when 100% ==&lt;br /&gt;
 dpkg --purge `dpkg --list|grep &amp;quot;linux-&amp;quot;|grep -v \`uname -r|sed &amp;#039;s/-generic//g&amp;#039;\`|cut -d&amp;quot; &amp;quot; -f3|grep &amp;quot;[0-9]-&amp;quot;|paste -sd &amp;quot; &amp;quot; -`&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== One-time login to wordpress ==&lt;br /&gt;
&lt;br /&gt;
Install wp cli:&lt;br /&gt;
&lt;br /&gt;
 curl -O https://raw.githubusercontent.com/wp-cli/builds/gh-pages/phar/wp-cli.phar&lt;br /&gt;
 chmod +x wp-cli.phar&lt;br /&gt;
 mv wp-cli.phar /usr/local/bin/wp&lt;br /&gt;
&lt;br /&gt;
Run from the WordPress installed location:&lt;br /&gt;
&lt;br /&gt;
 useradmin=`wp user list --role=administrator --format=csv --allow-root | cut -d&amp;#039;,&amp;#039; -f2 | head -2 | tail -1` &amp;amp;&amp;amp;  wp plugin install one-time-login --activate --allow-root &amp;amp;&amp;amp; wp user one-time-login $useradmin --allow-root &amp;amp;&amp;amp; user=$(stat -c &amp;quot;%U&amp;quot; `pwd`) &amp;amp;&amp;amp; chown $user.$user wp-content/ -R&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Cpanel resources consumption history per user ==&lt;br /&gt;
 &amp;lt;nowiki&amp;gt;OUT=$(/usr/local/cpanel/bin/dcpumonview | grep -v Top | sed -e &amp;#039;s#&amp;lt;[^&amp;gt;]*&amp;gt;# #g&amp;#039; | while read i ; do NF=`echo $i | awk {&amp;#039;print NF&amp;#039;}` ; if [[ &amp;quot;$NF&amp;quot; == &amp;quot;5&amp;quot; ]] ; then USER=`echo $i | awk {&amp;#039;print $1&amp;#039;}`; OWNER=`grep -e &amp;quot;^OWNER=&amp;quot; /var/cpanel/users/$USER | cut -d= -f2` ; echo &amp;quot;$OWNER $i&amp;quot;; fi ; done) ; (echo &amp;quot;USER CPU&amp;quot; ; echo &amp;quot;$OUT&amp;quot; | sort -nrk4 | awk &amp;#039;{printf &amp;quot;%s %s%\n&amp;quot;,$2,$4}&amp;#039; | head -5) | column -t ;echo;(echo -e &amp;quot;USER MEMORY&amp;quot; ; echo &amp;quot;$OUT&amp;quot; | sort -nrk5 | awk &amp;#039;{printf &amp;quot;%s %s%\n&amp;quot;,$2,$5}&amp;#039; | head -5) | column -t ;echo;(echo -e &amp;quot;USER MYSQL&amp;quot; ; echo &amp;quot;$OUT&amp;quot; | sort -nrk6 | awk &amp;#039;{printf &amp;quot;%s %s%\n&amp;quot;,$2,$6}&amp;#039; | head -5) | column -t ; &amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Engintron generate custom_rules for all domains on the server. ==&lt;br /&gt;
 ip=`hostname -i` &amp;amp;&amp;amp; for domain in `httpd -S |  grep www. | awk -F &amp;#039;www.&amp;#039; &amp;#039;{print $2}&amp;#039;`;do printf &amp;quot;if ( \$host ~ \&amp;quot;%s\&amp;quot;) {set \$PROXY_DOMAIN_OR_IP \&amp;quot;$ip\&amp;quot;;}\n&amp;quot; $domain ;done &amp;gt;&amp;gt; /etc/nginx/custom_rules &amp;amp;&amp;amp; service nginx reload&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Fix Installatron - error 500 or missing list/install ==&lt;br /&gt;
 /usr/local/installatron/repair -f --release --quick&lt;br /&gt;
[https://installatron.com/docs/admin/troubleshooting#missinginstalls Installatron FIX]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Find root of a site and CD to it ==&lt;br /&gt;
&lt;br /&gt;
Replace domain.com with desired domain&lt;br /&gt;
 cd `grep &amp;quot;domain.com&amp;quot; /etc/apache2/conf/httpd.conf -A7|grep Root|head -1|awk &amp;#039;{print $2}&amp;#039;`&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Generate CSR with OPENSSL ==&lt;br /&gt;
&lt;br /&gt;
Generate key:&lt;br /&gt;
 openssl genrsa -out private.key 2048&lt;br /&gt;
&lt;br /&gt;
Generate CSR:&lt;br /&gt;
 openssl req -new -sha256 -key private.key -out mycsr.csr&lt;br /&gt;
&lt;br /&gt;
Generate Self-signed SSL with private key:&lt;br /&gt;
 openssl req -x509 -sha256 -nodes -days 365 -newkey rsa:2048 -keyout privateKey.key -out certificate.crt&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== PHP disable functions hardening ==&lt;br /&gt;
&lt;br /&gt;
 disable_functions = &amp;quot;allow_url_fopen, apache_child_terminate, apache_setenv, base64_decode, chgrp, chmod, define_syslog_variables, dl, egy_perl, escapeshellarg, escapeshellcmd, eval, exec, fp, fput, ftok, ftp_connect, ftp_exec, ftp_get, ftp_login, ftp_nb_fput, ftp_put, ftp_raw, ftp_rawlist, highlight_file, ini_alter, ini_get_all, ini_restore, ini_set, inject_code, leak, link, mysql_pconnect, openlog, passthru, pclose, pcntl_exec, phpAds_remoteInfo, phpAds_XmlRpc, phpAds_xmlrpcDecode, phpAds_xmlrpcEncode, php_eval, phpinfo, php_uname, popen, posix_access, posix_ctermid, posix_getcwd, posix_getegid, posix_geteuid, posix_getgid, posix_getgrgid, posix_getgrnam, posix_getgroups, posix_get_last_error, posix_getlogin, posix_getpgid, posix_getpgrp, posix_getpid, posix_getppid, posix_getpwnam, posix_getpwuid, posix_getrlimit, posix_getsid, posix_getuid, posix_kill, posix_mkfifo, posix_mknod, posix_satty, posix_setegid, posix_seteuid, posix_setgid, posix_setpgid, posix_setsid, posix_setuid, posix_strerror, posix_tims, posix_ttyname, posix_uname, proc_close, proc_get_status, proc_nice, proc_open, proc_terminate, putenv, readlink, root, safe_dir, set_time_limit, shell_exec, show_source, symlink, syslog, system, wscript, xmlrpc_entity_decode&amp;quot;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Mount Google Drive on Linux ==&lt;br /&gt;
&lt;br /&gt;
Install rclone:&lt;br /&gt;
 yum install rclone&lt;br /&gt;
&lt;br /&gt;
Config rclone: (select Google Drive and all other leave default)&lt;br /&gt;
 rclone config&lt;br /&gt;
&lt;br /&gt;
Browser will be opened on finish, auth with your account and then mount the drive:&lt;br /&gt;
 rclone mount gdrive: /gdrive/ &amp;amp;&lt;br /&gt;
&lt;br /&gt;
Use SSH tunneling for auth if running on Linux server (without GUI)&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Links ==&lt;br /&gt;
Installing Redis: [https://troubleshootguru.wordpress.com/2014/11/19/how-to-install-redis-on-a-centos-6-5-centos-7-0-server-2/] [https://www.fastcomet.com/community/question/wordpress-caching-with-redis-centos-cpanel/] [https://nixtree.com/blog/install-redis-daemon-and-redis-php-extention-on-centosrhelcpanel/]&lt;br /&gt;
&lt;br /&gt;
Windows images [http://torrent-win.net/windows_original/]&lt;br /&gt;
&lt;br /&gt;
Github: [https://github.com/romanost Github]&lt;br /&gt;
&lt;br /&gt;
Arista: [https://www.arista.com/assets/data/docs/Manuals/EOS-4.17.0F-Manual.pdf Manual] [https://www.arista.com/en/um-eos/eos-section-3-10-command-line-interface-commands CLI]&lt;br /&gt;
&lt;br /&gt;
VMware converter old version [http://soft.assenov.net/software/index.php?dir=VMWare/ Link]&lt;br /&gt;
&lt;br /&gt;
GEOip on EA4 [https://grepitout.com/install-mod_geoip-cpanel-easyapache-4/ link]&lt;br /&gt;
&lt;br /&gt;
PHP Malware finder [https://github.com/nbs-system/php-malware-finder link]&lt;br /&gt;
&lt;br /&gt;
Ahsay on QNAP patch [http://wiki.ahsay.com/doku.php?id=public:5356_no_suitable_python_found_for_arm-x41_installation_issue_on_qnap link]&lt;br /&gt;
&lt;br /&gt;
Kubernetes cheat sheet [https://linuxacademy.com/blog/containers/kubernetes-cheat-sheet/ link]&lt;br /&gt;
&lt;br /&gt;
Kubernetes Essentials [https://medium.com/devopslinks/kubernetes-essentials-282ac9951542 link]&lt;/div&gt;</summary>
		<author><name>Meadmin</name></author>	</entry>

	<entry>
		<id>https://mywiki.romanost.co.il/index.php?title=Home_Assistant&amp;diff=90</id>
		<title>Home Assistant</title>
		<link rel="alternate" type="text/html" href="https://mywiki.romanost.co.il/index.php?title=Home_Assistant&amp;diff=90"/>
				<updated>2020-06-21T18:18:08Z</updated>
		
		<summary type="html">&lt;p&gt;Meadmin: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Send VPS statistics to HA&lt;br /&gt;
&lt;br /&gt;
Update token ($apitoken), address ($apiaddr) and disk device ($disk)&lt;br /&gt;
&lt;br /&gt;
 #!/bin/bash&lt;br /&gt;
 &lt;br /&gt;
 apitoken=&amp;quot;xxxxxx&amp;quot;&lt;br /&gt;
 apiaddr=&amp;quot;https://ha.myhome:8123/api/states/&amp;quot;&lt;br /&gt;
 apiheaders=&amp;quot; -H \&amp;quot;Authorization: Bearer $apitoken\&amp;quot; -H \&amp;quot;Content-Type: application/json\&amp;quot; &amp;quot;&lt;br /&gt;
 apihost=`hostname|sed &amp;quot;s/\./_/g&amp;quot;`&lt;br /&gt;
 apiurl=&amp;quot;sensor.$apihost&amp;quot;&lt;br /&gt;
 &lt;br /&gt;
 diskname=&amp;quot;vda&amp;quot;&lt;br /&gt;
 disk=&amp;quot;/dev/$diskname&amp;quot;&lt;br /&gt;
 &lt;br /&gt;
 srvuptime=`uptime -p`&lt;br /&gt;
 srvmem=`free -m |grep &amp;quot;Mem&amp;quot;|awk &amp;#039;{print ($4+$7)&amp;quot;M&amp;quot;}&amp;#039;`&lt;br /&gt;
 srvprocs=`ps -ef|wc -l`&lt;br /&gt;
 diskuse=`df -h $disk |grep &amp;quot;/$&amp;quot;|awk &amp;#039;{print $5}&amp;#039;|tr -d &amp;#039;%&amp;#039;`&lt;br /&gt;
 diskio=`df -ih $disk |grep &amp;quot;/$&amp;quot;|awk &amp;#039;{print $5}&amp;#039;|tr -d &amp;#039;%&amp;#039;`&lt;br /&gt;
 netcons=`netstat -ant|grep ESTA|wc -l`&lt;br /&gt;
 mailqu=`/usr/sbin/exim -bpc`&lt;br /&gt;
 srvaccounts=`cat /etc/domainusers |wc -l`&lt;br /&gt;
 &lt;br /&gt;
 srvtmp=`cat /proc/loadavg`&lt;br /&gt;
 read -r -a srvla &amp;lt;&amp;lt;&amp;lt; &amp;quot;$srvtmp&amp;quot;&lt;br /&gt;
 &lt;br /&gt;
 apidata=&amp;quot; -d &amp;#039;{\&amp;quot;state\&amp;quot;:\&amp;quot;$srvuptime\&amp;quot;, \&amp;quot;attributes\&amp;quot;: {\&amp;quot;friendly_name\&amp;quot;:\&amp;quot;$apihost\&amp;quot;,\&amp;quot;uptime\&amp;quot;:\&amp;quot;$srvuptime\&amp;quot;,\&amp;quot;freemem\&amp;quot;:\&amp;quot;$srvmem\&amp;quot;,\&amp;quot;load\&amp;quot;:${srvla[0]},\&amp;quot;procs\&amp;quot;:$srvprocs,\&amp;quot;disk_use_$diskname\&amp;quot;:\&amp;quot;$diskuse\&amp;quot;,\&amp;quot;disk_io_use_$diskname\&amp;quot;:\&amp;quot;$diskio\&amp;quot;,\&amp;quot;connections\&amp;quot;:$netcons,\&amp;quot;mail_queue\&amp;quot;:$mailqu,\&amp;quot;accounts\&amp;quot;:$srvaccounts}}&amp;#039;&amp;quot;&lt;br /&gt;
 &lt;br /&gt;
 bash -c &amp;quot;curl $apiaddr$apiurl $apiheaders -X POST $apidata -k&amp;quot;&lt;br /&gt;
 &lt;br /&gt;
 daybefore=`date +%d/%b/%Y --date=&amp;quot;last day&amp;quot;`&lt;br /&gt;
 IFS=$&amp;#039;\n&amp;#039;; for i in `cat /etc/domainusers`; do&lt;br /&gt;
        IFS=&amp;quot;:&amp;quot;; read -r -a arr &amp;lt;&amp;lt;&amp;lt; &amp;quot;$i&amp;quot;&lt;br /&gt;
        domacc=${arr[0]}&lt;br /&gt;
        domdom=`echo ${arr[1]}|xargs`&lt;br /&gt;
        domtotal=`zgrep &amp;quot;$daybefore&amp;quot; /home/$domacc/logs/* 2&amp;gt;/dev/null |wc -l`&lt;br /&gt;
        domres=`zgrep &amp;quot;$daybefore&amp;quot; /home/$domacc/logs/* 2&amp;gt;/dev/null |cut -d&amp;quot;[&amp;quot; -f2-|awk &amp;#039;{print $6}&amp;#039;|sort|uniq -c|sort -h|awk &amp;#039;{print $2 &amp;quot; &amp;quot; $1}&amp;#039;`&lt;br /&gt;
        apiurl=&amp;quot;sensor.${apihost}_${domacc}&amp;quot;&lt;br /&gt;
        sensordata=&amp;quot;&amp;#039;{\&amp;quot;state\&amp;quot;:\&amp;quot;$domdom\&amp;quot;, \&amp;quot;attributes\&amp;quot;: {\&amp;quot;friendly_name\&amp;quot;:\&amp;quot;$domdom\&amp;quot;,\&amp;quot;total_yesterday\&amp;quot;:\&amp;quot;$domtotal\&amp;quot;&amp;quot;&lt;br /&gt;
 &lt;br /&gt;
        IFS=$&amp;#039;\n&amp;#039;; for q in $domres; do&lt;br /&gt;
                IFS=&amp;quot; &amp;quot;; read -r -a res &amp;lt;&amp;lt;&amp;lt; &amp;quot;$q&amp;quot;&lt;br /&gt;
                sensordata=&amp;quot;${sensordata},\&amp;quot;responsecode_${res[0]}\&amp;quot;:${res[1]}&amp;quot;&lt;br /&gt;
        done&lt;br /&gt;
        sensordata=&amp;quot;${sensordata}}}&amp;#039;&amp;quot;&lt;br /&gt;
        apidata=&amp;quot; -d $sensordata&amp;quot;&lt;br /&gt;
        bash -c &amp;quot;curl $apiaddr$apiurl $apiheaders -X POST $apidata -k&amp;quot;&lt;br /&gt;
 done&lt;/div&gt;</summary>
		<author><name>Meadmin</name></author>	</entry>

	<entry>
		<id>https://mywiki.romanost.co.il/index.php?title=Home_Assistant&amp;diff=89</id>
		<title>Home Assistant</title>
		<link rel="alternate" type="text/html" href="https://mywiki.romanost.co.il/index.php?title=Home_Assistant&amp;diff=89"/>
				<updated>2020-06-20T18:57:39Z</updated>
		
		<summary type="html">&lt;p&gt;Meadmin: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Send VPS statistics to HA&lt;br /&gt;
&lt;br /&gt;
Update token ($apitoken), address ($apiaddr) and disk device ($disk)&lt;br /&gt;
&lt;br /&gt;
 #!/bin/bash&lt;br /&gt;
 &lt;br /&gt;
 apitoken=&amp;quot;xxxxxx&amp;quot;&lt;br /&gt;
 apiaddr=&amp;quot;https://ha.myhome:8123/api/states/&amp;quot;&lt;br /&gt;
 apiheaders=&amp;quot; -H \&amp;quot;Authorization: Bearer $apitoken\&amp;quot; -H \&amp;quot;Content-Type: application/json\&amp;quot; &amp;quot;&lt;br /&gt;
 apihost=`hostname|sed &amp;quot;s/\./_/g&amp;quot;`&lt;br /&gt;
 apiurl=&amp;quot;sensor.$apihost&amp;quot;&lt;br /&gt;
 &lt;br /&gt;
 disk=&amp;quot;/dev/vda&amp;quot;&lt;br /&gt;
 &lt;br /&gt;
 srvuptime=`uptime -p`&lt;br /&gt;
 srvmem=`free -m |grep &amp;quot;Mem&amp;quot;|awk &amp;#039;{print ($4+$7)&amp;quot;M&amp;quot;}&amp;#039;`&lt;br /&gt;
 srvprocs=`ps -ef|wc -l`&lt;br /&gt;
 diskuse=`df -h $disk |grep &amp;quot;/$&amp;quot;|awk &amp;#039;{print $5}&amp;#039;|tr -d &amp;#039;%&amp;#039;`&lt;br /&gt;
 diskio=`df -ih $disk |grep &amp;quot;/$&amp;quot;|awk &amp;#039;{print $5}&amp;#039;|tr -d &amp;#039;%&amp;#039;`&lt;br /&gt;
 netcons=`netstat -ant|grep ESTA|wc -l`&lt;br /&gt;
 mailqu=`/usr/sbin/exim -bpc`&lt;br /&gt;
 srvaccounts=`cat /etc/domainusers |wc -l`&lt;br /&gt;
 &lt;br /&gt;
 srvtmp=`cat /proc/loadavg`&lt;br /&gt;
 read -r -a srvla &amp;lt;&amp;lt;&amp;lt; &amp;quot;$srvtmp&amp;quot;&lt;br /&gt;
 &lt;br /&gt;
 apidata=&amp;quot; -d &amp;#039;{\&amp;quot;state\&amp;quot;:\&amp;quot;$srvuptime\&amp;quot;, \&amp;quot;attributes\&amp;quot;: {\&amp;quot;friendly_name\&amp;quot;:\&amp;quot;$apihost\&amp;quot;,\&amp;quot;uptime\&amp;quot;:\&amp;quot;$srvuptime\&amp;quot;,\&amp;quot;freemem\&amp;quot;:\&amp;quot;$srvmem\&amp;quot;,\&amp;quot;load\&amp;quot;:${srvla[0]},\&amp;quot;procs\&amp;quot;:$srvprocs,\&amp;quot;disk_use_$disk\&amp;quot;:\&amp;quot;$diskuse\&amp;quot;,\&amp;quot;disk_io_use_$disk\&amp;quot;:\&amp;quot;$diskio\&amp;quot;,\&amp;quot;connections\&amp;quot;:$netcons,\&amp;quot;mail_queue\&amp;quot;:$mailqu,\&amp;quot;accounts\&amp;quot;:$srvaccounts}}&amp;#039;&amp;quot;&lt;br /&gt;
 &lt;br /&gt;
 bash -c &amp;quot;curl $apiaddr$apiurl $apiheaders -X POST $apidata -k&amp;quot;&lt;br /&gt;
 &lt;br /&gt;
 daybefore=`date +%d/%b/%Y --date=&amp;quot;last day&amp;quot;`&lt;br /&gt;
 IFS=$&amp;#039;\n&amp;#039;; for i in `cat /etc/domainusers`; do&lt;br /&gt;
        IFS=&amp;quot;:&amp;quot;; read -r -a arr &amp;lt;&amp;lt;&amp;lt; &amp;quot;$i&amp;quot;&lt;br /&gt;
        domacc=${arr[0]}&lt;br /&gt;
        domdom=`echo ${arr[1]}|xargs`&lt;br /&gt;
        domtotal=`zgrep &amp;quot;$daybefore&amp;quot; /home/$domacc/logs/* 2&amp;gt;/dev/null |wc -l`&lt;br /&gt;
        domres=`zgrep &amp;quot;$daybefore&amp;quot; /home/$domacc/logs/* 2&amp;gt;/dev/null |cut -d&amp;quot;[&amp;quot; -f2-|awk &amp;#039;{print $6}&amp;#039;|sort|uniq -c|sort -h|awk &amp;#039;{print $2 &amp;quot; &amp;quot; $1}&amp;#039;`&lt;br /&gt;
        apiurl=&amp;quot;sensor.${apihost}_${domacc}&amp;quot;&lt;br /&gt;
        sensordata=&amp;quot;&amp;#039;{\&amp;quot;state\&amp;quot;:\&amp;quot;$domdom\&amp;quot;, \&amp;quot;attributes\&amp;quot;: {\&amp;quot;friendly_name\&amp;quot;:\&amp;quot;$domdom\&amp;quot;,\&amp;quot;total_yesterday\&amp;quot;:\&amp;quot;$domtotal\&amp;quot;&amp;quot;&lt;br /&gt;
 &lt;br /&gt;
        IFS=$&amp;#039;\n&amp;#039;; for q in $domres; do&lt;br /&gt;
                IFS=&amp;quot; &amp;quot;; read -r -a res &amp;lt;&amp;lt;&amp;lt; &amp;quot;$q&amp;quot;&lt;br /&gt;
                sensordata=&amp;quot;${sensordata},\&amp;quot;responsecode_${res[0]}\&amp;quot;:${res[1]}&amp;quot;&lt;br /&gt;
        done&lt;br /&gt;
        sensordata=&amp;quot;${sensordata}}}&amp;#039;&amp;quot;&lt;br /&gt;
        apidata=&amp;quot; -d $sensordata&amp;quot;&lt;br /&gt;
        bash -c &amp;quot;curl $apiaddr$apiurl $apiheaders -X POST $apidata -k&amp;quot;&lt;br /&gt;
 done&lt;/div&gt;</summary>
		<author><name>Meadmin</name></author>	</entry>

	<entry>
		<id>https://mywiki.romanost.co.il/index.php?title=Home_Assistant&amp;diff=88</id>
		<title>Home Assistant</title>
		<link rel="alternate" type="text/html" href="https://mywiki.romanost.co.il/index.php?title=Home_Assistant&amp;diff=88"/>
				<updated>2020-06-20T18:40:30Z</updated>
		
		<summary type="html">&lt;p&gt;Meadmin: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Send VPS statistics to HA&lt;br /&gt;
&lt;br /&gt;
Update token ($apitoken), address ($apiaddr) and disk device ($disk)&lt;br /&gt;
&lt;br /&gt;
 #!/bin/bash&lt;br /&gt;
 &lt;br /&gt;
 apitoken=&amp;quot;xxxxxx&amp;quot;&lt;br /&gt;
 apiaddr=&amp;quot;https://ha.myhome:8123/api/states/&amp;quot;&lt;br /&gt;
 apiheaders=&amp;quot; -H \&amp;quot;Authorization: Bearer $apitoken\&amp;quot; -H \&amp;quot;Content-Type: application/json\&amp;quot; &amp;quot;&lt;br /&gt;
 apihost=`hostname|sed &amp;quot;s/\./_/g&amp;quot;`&lt;br /&gt;
 apiurl=&amp;quot;sensor.$apihost&amp;quot;&lt;br /&gt;
 &lt;br /&gt;
 disk=&amp;quot;/dev/vda&amp;quot;&lt;br /&gt;
 &lt;br /&gt;
 srvuptime=`uptime -p`&lt;br /&gt;
 srvmem=`free -m |grep &amp;quot;Mem&amp;quot;|awk &amp;#039;{print ($4+$7)&amp;quot;M&amp;quot;}&amp;#039;`&lt;br /&gt;
 srvprocs=`ps -ef|wc -l`&lt;br /&gt;
 diskuse=`df -h $disk |grep &amp;quot;/$&amp;quot;|awk &amp;#039;{print $5}&amp;#039;|tr -d &amp;#039;%&amp;#039;`&lt;br /&gt;
 diskio=`df -ih $disk |grep &amp;quot;/$&amp;quot;|awk &amp;#039;{print $5}&amp;#039;|tr -d &amp;#039;%&amp;#039;`&lt;br /&gt;
 netcons=`netstat -ant|grep ESTA|wc -l`&lt;br /&gt;
 mailqu=`/usr/sbin/exim -bpc`&lt;br /&gt;
 &lt;br /&gt;
 srvtmp=`cat /proc/loadavg`&lt;br /&gt;
 read -r -a srvla &amp;lt;&amp;lt;&amp;lt; &amp;quot;$srvtmp&amp;quot;&lt;br /&gt;
 &lt;br /&gt;
 apidata=&amp;quot; -d &amp;#039;{\&amp;quot;state\&amp;quot;:\&amp;quot;$srvuptime\&amp;quot;, \&amp;quot;attributes\&amp;quot;: {\&amp;quot;friendly_name\&amp;quot;:\&amp;quot;$apihost\&amp;quot;,\&amp;quot;uptime\&amp;quot;:\&amp;quot;$srvuptime\&amp;quot;,\&amp;quot;freemem\&amp;quot;:\&amp;quot;$srvmem\&amp;quot;,\&amp;quot;load\&amp;quot;:${srvla[0]},\&amp;quot;procs\&amp;quot;:$srvprocs,\&amp;quot;disk_use_$disk\&amp;quot;:\&amp;quot;$diskuse\&amp;quot;,\&amp;quot;disk_io_use_$disk\&amp;quot;:\&amp;quot;$diskio\&amp;quot;,\&amp;quot;connections\&amp;quot;:$netcons,\&amp;quot;mail_queue\&amp;quot;:$mailqu}}&amp;#039;&amp;quot;&lt;br /&gt;
 &lt;br /&gt;
 bash -c &amp;quot;curl $apiaddr$apiurl $apiheaders -X POST $apidata -k&amp;quot;&lt;br /&gt;
 &lt;br /&gt;
 daybefore=`date +%d/%b/%Y --date=&amp;quot;last day&amp;quot;`&lt;br /&gt;
 IFS=$&amp;#039;\n&amp;#039;; for i in `cat /etc/domainusers`; do&lt;br /&gt;
        IFS=&amp;quot;:&amp;quot;; read -r -a arr &amp;lt;&amp;lt;&amp;lt; &amp;quot;$i&amp;quot;&lt;br /&gt;
        domacc=${arr[0]}&lt;br /&gt;
        domdom=`echo ${arr[1]}|xargs`&lt;br /&gt;
        domtotal=`zgrep &amp;quot;$daybefore&amp;quot; /home/$domacc/logs/* 2&amp;gt;/dev/null |wc -l`&lt;br /&gt;
        domres=`zgrep &amp;quot;$daybefore&amp;quot; /home/$domacc/logs/* 2&amp;gt;/dev/null |cut -d&amp;quot;[&amp;quot; -f2-|awk &amp;#039;{print $6}&amp;#039;|sort|uniq -c|sort -h|awk &amp;#039;{print $2 &amp;quot; &amp;quot; $1}&amp;#039;`&lt;br /&gt;
        apiurl=&amp;quot;sensor.${apihost}_${domacc}&amp;quot;&lt;br /&gt;
        sensordata=&amp;quot;&amp;#039;{\&amp;quot;state\&amp;quot;:\&amp;quot;$domdom\&amp;quot;, \&amp;quot;attributes\&amp;quot;: {\&amp;quot;friendly_name\&amp;quot;:\&amp;quot;$domdom\&amp;quot;,\&amp;quot;total_yesterday\&amp;quot;:\&amp;quot;$domtotal\&amp;quot;&amp;quot;&lt;br /&gt;
 &lt;br /&gt;
        IFS=$&amp;#039;\n&amp;#039;; for q in $domres; do&lt;br /&gt;
                IFS=&amp;quot; &amp;quot;; read -r -a res &amp;lt;&amp;lt;&amp;lt; &amp;quot;$q&amp;quot;&lt;br /&gt;
                sensordata=&amp;quot;${sensordata},\&amp;quot;responsecode_${res[0]}\&amp;quot;:${res[1]}&amp;quot;&lt;br /&gt;
        done&lt;br /&gt;
        sensordata=&amp;quot;${sensordata}}}&amp;#039;&amp;quot;&lt;br /&gt;
        apidata=&amp;quot; -d $sensordata&amp;quot;&lt;br /&gt;
        bash -c &amp;quot;curl $apiaddr$apiurl $apiheaders -X POST $apidata -k&amp;quot;&lt;br /&gt;
 done&lt;/div&gt;</summary>
		<author><name>Meadmin</name></author>	</entry>

	<entry>
		<id>https://mywiki.romanost.co.il/index.php?title=Home_Assistant&amp;diff=87</id>
		<title>Home Assistant</title>
		<link rel="alternate" type="text/html" href="https://mywiki.romanost.co.il/index.php?title=Home_Assistant&amp;diff=87"/>
				<updated>2020-06-20T18:40:17Z</updated>
		
		<summary type="html">&lt;p&gt;Meadmin: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Send VPS statistics to HA&lt;br /&gt;
&lt;br /&gt;
Update token ($apitoken), address ($apiaddr) and disk device ($disk)&lt;br /&gt;
&lt;br /&gt;
 #!/bin/bash&lt;br /&gt;
 &lt;br /&gt;
 apitoken=&amp;quot;xxxxxx&amp;quot;&lt;br /&gt;
 apiaddr=&amp;quot;https://ha.myhome:8123/api/states/&amp;quot;&lt;br /&gt;
 apiheaders=&amp;quot; -H \&amp;quot;Authorization: Bearer $apitoken\&amp;quot; -H \&amp;quot;Content-Type: application/json\&amp;quot; &amp;quot;&lt;br /&gt;
 apihost=`hostname|sed &amp;quot;s/\./_/g&amp;quot;`&lt;br /&gt;
 apiurl=&amp;quot;sensor.$apihost&amp;quot;&lt;br /&gt;
 &lt;br /&gt;
 disk=&amp;quot;/dev/vda&amp;quot;&lt;br /&gt;
 &lt;br /&gt;
 srvuptime=`uptime -p`&lt;br /&gt;
 srvmem=`free -m |grep &amp;quot;Mem&amp;quot;|awk &amp;#039;{print ($4+$7)&amp;quot;M&amp;quot;}&amp;#039;`&lt;br /&gt;
 srvprocs=`ps -ef|wc -l`&lt;br /&gt;
 diskuse=`df -h $disk |grep &amp;quot;/$&amp;quot;|awk &amp;#039;{print $5}&amp;#039;|tr -d &amp;#039;%&amp;#039;`&lt;br /&gt;
 diskio=`df -ih $disk |grep &amp;quot;/$&amp;quot;|awk &amp;#039;{print $5}&amp;#039;|tr -d &amp;#039;%&amp;#039;`&lt;br /&gt;
 netcons=`netstat -ant|grep ESTA|wc -l`&lt;br /&gt;
 mailqu=`/usr/sbin/exim -bpc`&lt;br /&gt;
 &lt;br /&gt;
 srvtmp=`cat /proc/loadavg`&lt;br /&gt;
 read -r -a srvla &amp;lt;&amp;lt;&amp;lt; &amp;quot;$srvtmp&amp;quot;&lt;br /&gt;
 &lt;br /&gt;
 apidata=&amp;quot; -d &amp;#039;{\&amp;quot;state\&amp;quot;:\&amp;quot;$srvuptime\&amp;quot;, \&amp;quot;attributes\&amp;quot;: {\&amp;quot;friendly_name\&amp;quot;:\&amp;quot;$apihost\&amp;quot;,\&amp;quot;uptime\&amp;quot;:\&amp;quot;$srvuptime\&amp;quot;,\&amp;quot;freemem\&amp;quot;:\&amp;quot;$srvmem\&amp;quot;,\&amp;quot;load\&amp;quot;:${srvla[0]},\&amp;quot;procs\&amp;quot;:$srvprocs,\&amp;quot;disk_use_$disk\&amp;quot;:\&amp;quot;$diskuse\&amp;quot;,\&amp;quot;disk_io_use_$disk\&amp;quot;:\&amp;quot;$diskio\&amp;quot;,\&amp;quot;connections\&amp;quot;:$netcons,\&amp;quot;mail_queue\&amp;quot;:$mailqu}}&amp;#039;&amp;quot;&lt;br /&gt;
 &lt;br /&gt;
 bash -c &amp;quot;curl $apiaddr$apiurl $apiheaders -X POST $apidata -k&amp;quot;&lt;br /&gt;
&lt;br /&gt;
 daybefore=`date +%d/%b/%Y --date=&amp;quot;last day&amp;quot;`&lt;br /&gt;
 IFS=$&amp;#039;\n&amp;#039;; for i in `cat /etc/domainusers`; do&lt;br /&gt;
        IFS=&amp;quot;:&amp;quot;; read -r -a arr &amp;lt;&amp;lt;&amp;lt; &amp;quot;$i&amp;quot;&lt;br /&gt;
        domacc=${arr[0]}&lt;br /&gt;
        domdom=`echo ${arr[1]}|xargs`&lt;br /&gt;
        domtotal=`zgrep &amp;quot;$daybefore&amp;quot; /home/$domacc/logs/* 2&amp;gt;/dev/null |wc -l`&lt;br /&gt;
        domres=`zgrep &amp;quot;$daybefore&amp;quot; /home/$domacc/logs/* 2&amp;gt;/dev/null |cut -d&amp;quot;[&amp;quot; -f2-|awk &amp;#039;{print $6}&amp;#039;|sort|uniq -c|sort -h|awk &amp;#039;{print $2 &amp;quot; &amp;quot; $1}&amp;#039;`&lt;br /&gt;
        apiurl=&amp;quot;sensor.${apihost}_${domacc}&amp;quot;&lt;br /&gt;
        sensordata=&amp;quot;&amp;#039;{\&amp;quot;state\&amp;quot;:\&amp;quot;$domdom\&amp;quot;, \&amp;quot;attributes\&amp;quot;: {\&amp;quot;friendly_name\&amp;quot;:\&amp;quot;$domdom\&amp;quot;,\&amp;quot;total_yesterday\&amp;quot;:\&amp;quot;$domtotal\&amp;quot;&amp;quot;&lt;br /&gt;
 &lt;br /&gt;
        IFS=$&amp;#039;\n&amp;#039;; for q in $domres; do&lt;br /&gt;
                IFS=&amp;quot; &amp;quot;; read -r -a res &amp;lt;&amp;lt;&amp;lt; &amp;quot;$q&amp;quot;&lt;br /&gt;
                sensordata=&amp;quot;${sensordata},\&amp;quot;responsecode_${res[0]}\&amp;quot;:${res[1]}&amp;quot;&lt;br /&gt;
        done&lt;br /&gt;
        sensordata=&amp;quot;${sensordata}}}&amp;#039;&amp;quot;&lt;br /&gt;
        apidata=&amp;quot; -d $sensordata&amp;quot;&lt;br /&gt;
        bash -c &amp;quot;curl $apiaddr$apiurl $apiheaders -X POST $apidata -k&amp;quot;&lt;br /&gt;
 done&lt;/div&gt;</summary>
		<author><name>Meadmin</name></author>	</entry>

	<entry>
		<id>https://mywiki.romanost.co.il/index.php?title=Home_Assistant&amp;diff=86</id>
		<title>Home Assistant</title>
		<link rel="alternate" type="text/html" href="https://mywiki.romanost.co.il/index.php?title=Home_Assistant&amp;diff=86"/>
				<updated>2020-06-11T13:48:29Z</updated>
		
		<summary type="html">&lt;p&gt;Meadmin: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Send VPS statistics to HA&lt;br /&gt;
&lt;br /&gt;
Update token ($apitoken), address ($apiaddr) and disk device ($disk)&lt;br /&gt;
&lt;br /&gt;
 #!/bin/bash&lt;br /&gt;
 &lt;br /&gt;
 apitoken=&amp;quot;xxxxxx&amp;quot;&lt;br /&gt;
 apiaddr=&amp;quot;https://ha.myhome:8123/api/states/&amp;quot;&lt;br /&gt;
 apiheaders=&amp;quot; -H \&amp;quot;Authorization: Bearer $apitoken\&amp;quot; -H \&amp;quot;Content-Type: application/json\&amp;quot; &amp;quot;&lt;br /&gt;
 apihost=`hostname|sed &amp;quot;s/\./_/g&amp;quot;`&lt;br /&gt;
 apiurl=&amp;quot;sensor.$apihost&amp;quot;&lt;br /&gt;
 &lt;br /&gt;
 disk=&amp;quot;/dev/vda&amp;quot;&lt;br /&gt;
 &lt;br /&gt;
 srvuptime=`uptime -p`&lt;br /&gt;
 srvmem=`free -m |grep &amp;quot;Mem&amp;quot;|awk &amp;#039;{print ($4+$7)&amp;quot;M&amp;quot;}&amp;#039;`&lt;br /&gt;
 srvprocs=`ps -ef|wc -l`&lt;br /&gt;
 diskuse=`df -h $disk |grep &amp;quot;/$&amp;quot;|awk &amp;#039;{print $5}&amp;#039;`&lt;br /&gt;
 diskio=`df -ih $disk |grep &amp;quot;/$&amp;quot;|awk &amp;#039;{print $5}&amp;#039;`&lt;br /&gt;
 netcons=`netstat -ant|grep ESTA|wc -l`&lt;br /&gt;
 mailqu=`/usr/sbin/exim -bpc`&lt;br /&gt;
 &lt;br /&gt;
 srvtmp=`cat /proc/loadavg`&lt;br /&gt;
 read -r -a srvla &amp;lt;&amp;lt;&amp;lt; &amp;quot;$srvtmp&amp;quot;&lt;br /&gt;
 &lt;br /&gt;
 apidata=&amp;quot; -d &amp;#039;{\&amp;quot;state\&amp;quot;:\&amp;quot;$srvuptime\&amp;quot;, \&amp;quot;attributes\&amp;quot;: {\&amp;quot;friendly_name\&amp;quot;:\&amp;quot;$apihost\&amp;quot;,\&amp;quot;uptime\&amp;quot;:\&amp;quot;$srvuptime\&amp;quot;,\&amp;quot;freemem\&amp;quot;:\&amp;quot;$srvmem\&amp;quot;,\&amp;quot;load\&amp;quot;:${srvla[0]},\&amp;quot;procs\&amp;quot;:$srvprocs,\&amp;quot;disk_use_$disk\&amp;quot;:\&amp;quot;$diskuse\&amp;quot;,\&amp;quot;disk_io_use_$disk\&amp;quot;:\&amp;quot;$diskio\&amp;quot;,\&amp;quot;connections\&amp;quot;:$netcons,\&amp;quot;mail_queue\&amp;quot;:$mailqu}}&amp;#039;&amp;quot;&lt;br /&gt;
 &lt;br /&gt;
 bash -c &amp;quot;curl $apiaddr$apiurl $apiheaders -X POST $apidata -k&amp;quot;&lt;/div&gt;</summary>
		<author><name>Meadmin</name></author>	</entry>

	<entry>
		<id>https://mywiki.romanost.co.il/index.php?title=Home_Assistant&amp;diff=85</id>
		<title>Home Assistant</title>
		<link rel="alternate" type="text/html" href="https://mywiki.romanost.co.il/index.php?title=Home_Assistant&amp;diff=85"/>
				<updated>2020-06-11T11:31:59Z</updated>
		
		<summary type="html">&lt;p&gt;Meadmin: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Send VPS statistics to HA&lt;br /&gt;
&lt;br /&gt;
Update token ($apitoken), address ($apiaddr) and disk device ($disk)&lt;br /&gt;
&lt;br /&gt;
 #!/bin/bash&lt;br /&gt;
 &lt;br /&gt;
 apitoken=&amp;quot;xxxxxx&amp;quot;&lt;br /&gt;
 apiaddr=&amp;quot;https://ha.myhome:8123/api/states/&amp;quot;&lt;br /&gt;
 apiheaders=&amp;quot; -H \&amp;quot;Authorization: Bearer $apitoken\&amp;quot; -H \&amp;quot;Content-Type: application/json\&amp;quot; &amp;quot;&lt;br /&gt;
 apihost=`hostname|sed &amp;quot;s/\./_/g&amp;quot;`&lt;br /&gt;
 apiurl=&amp;quot;sensor.$apihost&amp;quot;&lt;br /&gt;
 &lt;br /&gt;
 disk=&amp;quot;/dev/vda&amp;quot;&lt;br /&gt;
 &lt;br /&gt;
 srvuptime=`uptime -p`&lt;br /&gt;
 srvmem=`free -m |grep &amp;quot;Mem&amp;quot;|awk &amp;#039;{print ($4+$7)&amp;quot;M&amp;quot;}&amp;#039;`&lt;br /&gt;
 srvprocs=`ps -ef|wc -l`&lt;br /&gt;
 diskuse=`df -h $disk |grep &amp;quot;/$&amp;quot;|awk &amp;#039;{print $5}&amp;#039;`&lt;br /&gt;
 diskio=`df -ih $disk |grep &amp;quot;/$&amp;quot;|awk &amp;#039;{print $5}&amp;#039;`&lt;br /&gt;
 netcons=`netstat -ant|grep ESTA|wc -l`&lt;br /&gt;
 mailqu=`exim -bpc`&lt;br /&gt;
 &lt;br /&gt;
 srvtmp=`cat /proc/loadavg`&lt;br /&gt;
 read -r -a srvla &amp;lt;&amp;lt;&amp;lt; &amp;quot;$srvtmp&amp;quot;&lt;br /&gt;
 &lt;br /&gt;
 apidata=&amp;quot; -d &amp;#039;{\&amp;quot;state\&amp;quot;:\&amp;quot;$srvuptime\&amp;quot;, \&amp;quot;attributes\&amp;quot;: {\&amp;quot;friendly_name\&amp;quot;:\&amp;quot;$apihost\&amp;quot;,\&amp;quot;uptime\&amp;quot;:\&amp;quot;$srvuptime\&amp;quot;,\&amp;quot;freemem\&amp;quot;:\&amp;quot;$srvmem\&amp;quot;,\&amp;quot;load\&amp;quot;:${srvla[0]},\&amp;quot;procs\&amp;quot;:$srvprocs,\&amp;quot;disk_use_$disk\&amp;quot;:\&amp;quot;$diskuse\&amp;quot;,\&amp;quot;disk_io_use_$disk\&amp;quot;:\&amp;quot;$diskio\&amp;quot;,\&amp;quot;connections\&amp;quot;:$netcons,\&amp;quot;mail_queue\&amp;quot;:$mailqu}}&amp;#039;&amp;quot;&lt;br /&gt;
 &lt;br /&gt;
 bash -c &amp;quot;curl $apiaddr$apiurl $apiheaders -X POST $apidata -k&amp;quot;&lt;/div&gt;</summary>
		<author><name>Meadmin</name></author>	</entry>

	<entry>
		<id>https://mywiki.romanost.co.il/index.php?title=Home_Assistant&amp;diff=84</id>
		<title>Home Assistant</title>
		<link rel="alternate" type="text/html" href="https://mywiki.romanost.co.il/index.php?title=Home_Assistant&amp;diff=84"/>
				<updated>2020-06-11T11:31:47Z</updated>
		
		<summary type="html">&lt;p&gt;Meadmin: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Send VPS statistics to HA&lt;br /&gt;
&lt;br /&gt;
Update token ($apitoken), address ($apiaddr) and disk device ($disk)&lt;br /&gt;
&lt;br /&gt;
 #!/bin/bash&lt;br /&gt;
 &lt;br /&gt;
 apitoken=&amp;quot;xxxxxx&amp;quot;&lt;br /&gt;
 apiaddr=&amp;quot;https://ha.myhome:8123/api/states/&amp;quot;&lt;br /&gt;
 apiheaders=&amp;quot; -H \&amp;quot;Authorization: Bearer $apitoken\&amp;quot; -H \&amp;quot;Content-Type: application/json\&amp;quot; &amp;quot;&lt;br /&gt;
 apihost=`hostname|sed &amp;quot;s/\./_/g&amp;quot;`&lt;br /&gt;
 apiurl=&amp;quot;sensor.$apihost&amp;quot;&lt;br /&gt;
 &lt;br /&gt;
 disk=&amp;quot;/dev/vda&amp;quot;&lt;br /&gt;
 &lt;br /&gt;
 srvuptime=`uptime -p`&lt;br /&gt;
 srvmem=`free -m |grep &amp;quot;Mem&amp;quot;|awk &amp;#039;{print ($4+$7)&amp;quot;M&amp;quot;}&amp;#039;`&lt;br /&gt;
 srvprocs=`ps -ef|wc -l`&lt;br /&gt;
 diskuse=`df -h $disk |grep &amp;quot;/$&amp;quot;|awk &amp;#039;{print $5}&amp;#039;`&lt;br /&gt;
 diskio=`df -ih $disk |grep &amp;quot;/$&amp;quot;|awk &amp;#039;{print $5}&amp;#039;`&lt;br /&gt;
 netcons=`netstat -ant|grep ESTA|wc -l`&lt;br /&gt;
 mailqu=`exim -bpc`&lt;br /&gt;
 &lt;br /&gt;
 srvtmp=`cat /proc/loadavg`&lt;br /&gt;
 read -r -a srvla &amp;lt;&amp;lt;&amp;lt; &amp;quot;$srvtmp&amp;quot;&lt;br /&gt;
 &lt;br /&gt;
 apidata=&amp;quot; -d &amp;#039;{\&amp;quot;state\&amp;quot;:\&amp;quot;$srvuptime\&amp;quot;, \&amp;quot;attributes\&amp;quot;: {\&amp;quot;friendly_name\&amp;quot;:\&amp;quot;$apihost\&amp;quot;,\&amp;quot;uptime\&amp;quot;:\&amp;quot;$srvuptime\&amp;quot;,\&amp;quot;freemem\&amp;quot;:\&amp;quot;$srvmem\&amp;quot;,\&amp;quot;load\&amp;quot;:${srvla[0]},\&amp;quot;procs\&amp;quot;:$srvprocs,\&amp;quot;disk_use_$disk\&amp;quot;:\&amp;quot;$diskuse\&amp;quot;,\&amp;quot;disk_io_use_$disk\&amp;quot;:\&amp;quot;$diskio\&amp;quot;,\&amp;quot;connections\&amp;quot;:$netcons,\&amp;quot;mail_queue\&amp;quot;:$mailqu}}&amp;#039;&amp;quot;&lt;br /&gt;
&lt;br /&gt;
 bash -c &amp;quot;curl $apiaddr$apiurl $apiheaders -X POST $apidata -k&amp;quot;&lt;/div&gt;</summary>
		<author><name>Meadmin</name></author>	</entry>

	<entry>
		<id>https://mywiki.romanost.co.il/index.php?title=Home_Assistant&amp;diff=83</id>
		<title>Home Assistant</title>
		<link rel="alternate" type="text/html" href="https://mywiki.romanost.co.il/index.php?title=Home_Assistant&amp;diff=83"/>
				<updated>2020-06-11T11:16:44Z</updated>
		
		<summary type="html">&lt;p&gt;Meadmin: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Send VPS statistics to HA&lt;br /&gt;
&lt;br /&gt;
Update token ($apitoken), address ($apiaddr) and disk device ($disk)&lt;br /&gt;
&lt;br /&gt;
 #!/bin/bash&lt;br /&gt;
 &lt;br /&gt;
 apitoken=&amp;quot;xxxxxx&amp;quot;&lt;br /&gt;
 apiaddr=&amp;quot;https://ha.myhome:8123/api/states/&amp;quot;&lt;br /&gt;
 apiheaders=&amp;quot; -H \&amp;quot;Authorization: Bearer $apitoken\&amp;quot; -H \&amp;quot;Content-Type: application/json\&amp;quot; &amp;quot;&lt;br /&gt;
 apihost=`hostname|sed &amp;quot;s/\./_/g&amp;quot;`&lt;br /&gt;
 apiurl=&amp;quot;sensor.$apihost&amp;quot;&lt;br /&gt;
 &lt;br /&gt;
 disk=&amp;quot;/dev/vda&amp;quot;&lt;br /&gt;
 &lt;br /&gt;
 srvuptime=`uptime -p`&lt;br /&gt;
 srvmem=`free -m |grep &amp;quot;Mem&amp;quot;|awk &amp;#039;{print ($4+$7)&amp;quot;M&amp;quot;}&amp;#039;`&lt;br /&gt;
 srvprocs=`ps -ef|wc -l`&lt;br /&gt;
 diskuse=`df -h $disk |grep &amp;quot;/$&amp;quot;|awk &amp;#039;{print $5}&amp;#039;`&lt;br /&gt;
 diskio=`df -ih $disk |grep &amp;quot;/$&amp;quot;|awk &amp;#039;{print $5}&amp;#039;`&lt;br /&gt;
 netcons=`netstat -ant|grep ESTA|wc -l`&lt;br /&gt;
 mailqu=`exim -bpc`&lt;br /&gt;
 &lt;br /&gt;
 srvtmp=`cat /proc/loadavg`&lt;br /&gt;
 read -r -a srvla &amp;lt;&amp;lt;&amp;lt; &amp;quot;$srvtmp&amp;quot;&lt;br /&gt;
 &lt;br /&gt;
 apidata=&amp;quot; -d &amp;#039;{\&amp;quot;state\&amp;quot;:\&amp;quot;$srvuptime\&amp;quot;, \&amp;quot;attributes\&amp;quot;: {\&amp;quot;friendly_name\&amp;quot;:\&amp;quot;$apihost\&amp;quot;,\&amp;quot;uptime\&amp;quot;:\&amp;quot;$srvuptime\&amp;quot;,\&amp;quot;freemem\&amp;quot;:\&amp;quot;$srvmem\&amp;quot;,\&amp;quot;load\&amp;quot;:\&amp;quot;${srvla[0]} ${srvla[1]} ${srvla[2]}\&amp;quot;,\&amp;quot;procs\&amp;quot;:$srvprocs,\&amp;quot;disk_use_$disk\&amp;quot;:\&amp;quot;$diskuse\&amp;quot;,\&amp;quot;disk_io_use_$disk\&amp;quot;:\&amp;quot;$diskio\&amp;quot;,\&amp;quot;connections\&amp;quot;:$netcons,\&amp;quot;mail_queue\&amp;quot;:$mailqu}}&amp;#039;&amp;quot;&lt;br /&gt;
 &lt;br /&gt;
 bash -c &amp;quot;curl $apiaddr$apiurl $apiheaders -X POST $apidata -k&amp;quot;&lt;/div&gt;</summary>
		<author><name>Meadmin</name></author>	</entry>

	<entry>
		<id>https://mywiki.romanost.co.il/index.php?title=OpenWRT&amp;diff=82</id>
		<title>OpenWRT</title>
		<link rel="alternate" type="text/html" href="https://mywiki.romanost.co.il/index.php?title=OpenWRT&amp;diff=82"/>
				<updated>2020-04-25T14:18:41Z</updated>
		
		<summary type="html">&lt;p&gt;Meadmin: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Install OpenVPN on OpenWRT&lt;br /&gt;
&lt;br /&gt;
1. Install packages:&lt;br /&gt;
 opkg update&lt;br /&gt;
 opkg install  luci-app-openvpn&lt;br /&gt;
 opkg install  openvpn-openssl&lt;br /&gt;
 wget https://raw.githubusercontent.com/OpenVPN/easy-rsa/master/easyrsa3/easyrsa&lt;br /&gt;
 chmod 755 easyrsa&lt;br /&gt;
 mv easyrsa /usr/bin&lt;br /&gt;
 mkdir -p /etc/easy-rsa/pki/x509-types&lt;br /&gt;
 wget https://raw.githubusercontent.com/OpenVPN/easy-rsa/master/easyrsa3/x509-types/server&lt;br /&gt;
 wget https://raw.githubusercontent.com/OpenVPN/easy-rsa/master/easyrsa3/x509-types/client&lt;br /&gt;
 wget https://raw.githubusercontent.com/OpenVPN/easy-rsa/master/easyrsa3/openssl-easyrsa.cnf&lt;br /&gt;
 mv server /etc/easy-rsa/pki/x509-types/ &lt;br /&gt;
 mv client /etc/easy-rsa/pki/x509-types/&lt;br /&gt;
 mv openssl-easyrsa.cnf /etc/easy-rsa/pki/&lt;br /&gt;
&lt;br /&gt;
2. Configure firewall&lt;br /&gt;
 uci rename firewall.@zone[0]=&amp;quot;lan&amp;quot;&lt;br /&gt;
 uci rename firewall.@zone[1]=&amp;quot;wan&amp;quot;&lt;br /&gt;
 uci rename firewall.@forwarding[0]=&amp;quot;lan_wan&amp;quot;&lt;br /&gt;
 uci del_list firewall.lan.device=&amp;quot;tun0&amp;quot;&lt;br /&gt;
 uci add_list firewall.lan.device=&amp;quot;tun0&amp;quot;&lt;br /&gt;
 uci -q delete firewall.vpn&lt;br /&gt;
 uci set firewall.ovpn=&amp;quot;rule&amp;quot;&lt;br /&gt;
 uci set firewall.ovpn.name=&amp;quot;Allow-OpenVPN&amp;quot;&lt;br /&gt;
 uci set firewall.ovpn.src=&amp;quot;wan&amp;quot;&lt;br /&gt;
 uci set firewall.ovpn.dest_port=&amp;quot;1194&amp;quot;&lt;br /&gt;
 uci set firewall.ovpn.proto=&amp;quot;udp&amp;quot;&lt;br /&gt;
 uci set firewall.ovpn.target=&amp;quot;ACCEPT&amp;quot;&lt;br /&gt;
 uci commit firewall&lt;br /&gt;
 /etc/init.d/firewall restart&lt;br /&gt;
&lt;br /&gt;
3. Create Certificates:&lt;br /&gt;
 export EASYRSA_PKI=&amp;quot;/etc/easy-rsa/pki&amp;quot; &lt;br /&gt;
 export EASYRSA_REQ_CN=&amp;quot;ovpnca&amp;quot;&lt;br /&gt;
 # Remove and re-initialize the PKI directory&lt;br /&gt;
 easyrsa --batch init-pki&lt;br /&gt;
 # Generate DH parameters&lt;br /&gt;
 easyrsa --batch gen-dh&lt;br /&gt;
 # Create a new CA&lt;br /&gt;
 easyrsa --batch build-ca nopass&lt;br /&gt;
 # Generate a keypair and sign locally for a server&lt;br /&gt;
 easyrsa --batch build-server-full server nopass&lt;br /&gt;
 # Generate a keypair and sign locally for a client &lt;br /&gt;
 easyrsa --batch build-client-full client nopass&lt;br /&gt;
&lt;br /&gt;
4. Configure VPN server:&lt;br /&gt;
 # Generate TLS PSK&lt;br /&gt;
 OVPN_PKI=&amp;quot;/etc/easy-rsa/pki&amp;quot;&lt;br /&gt;
 openvpn --genkey --secret ${OVPN_PKI}/tc.pem&lt;br /&gt;
 &lt;br /&gt;
 # Configuration parameters&lt;br /&gt;
 OVPN_DIR=&amp;quot;/etc/openvpn&amp;quot;&lt;br /&gt;
 OVPN_PKI=&amp;quot;/etc/easy-rsa/pki&amp;quot;&lt;br /&gt;
 OVPN_DEV=&amp;quot;$(uci get firewall.lan.device | sed -e &amp;quot;s/^.*\s//&amp;quot;)&amp;quot;&lt;br /&gt;
 OVPN_PORT=&amp;quot;$(uci get firewall.ovpn.dest_port)&amp;quot;&lt;br /&gt;
 OVPN_PROTO=&amp;quot;$(uci get firewall.ovpn.proto)&amp;quot;&lt;br /&gt;
 OVPN_POOL=&amp;quot;192.168.8.0 255.255.255.0&amp;quot;&lt;br /&gt;
 OVPN_DNS=&amp;quot;${OVPN_POOL%.* *}.1&amp;quot;&lt;br /&gt;
 OVPN_DOMAIN=&amp;quot;$(uci get dhcp.@dnsmasq[0].domain)&amp;quot;&lt;br /&gt;
 OVPN_DH=&amp;quot;$(cat ${OVPN_PKI}/dh.pem)&amp;quot;&lt;br /&gt;
 OVPN_TC=&amp;quot;$(sed -e &amp;quot;/^#/d;/^\w/N;s/\n//&amp;quot; ${OVPN_PKI}/tc.pem)&amp;quot;&lt;br /&gt;
 OVPN_CA=&amp;quot;$(openssl x509 -in ${OVPN_PKI}/ca.crt)&amp;quot;&lt;br /&gt;
 NL=$&amp;#039;\n&amp;#039;&lt;br /&gt;
 &lt;br /&gt;
 # Configure VPN server&lt;br /&gt;
 umask u=rw,g=,o=&lt;br /&gt;
 grep -l -r -e &amp;quot;TLS Web Server Auth&amp;quot; &amp;quot;${OVPN_PKI}/issued&amp;quot; \&lt;br /&gt;
 | sed -e &amp;quot;s/^.*\///;s/\.\w*$//&amp;quot; \&lt;br /&gt;
 | while read -r OVPN_ID&lt;br /&gt;
 do&lt;br /&gt;
 OVPN_CERT=&amp;quot;$(openssl x509 -in ${OVPN_PKI}/issued/${OVPN_ID}.crt)&amp;quot;&lt;br /&gt;
 OVPN_KEY=&amp;quot;$(cat ${OVPN_PKI}/private/${OVPN_ID}.key)&amp;quot;&lt;br /&gt;
 cat &amp;lt;&amp;lt; EOF &amp;gt; ${OVPN_DIR}/${OVPN_ID}.conf&lt;br /&gt;
 verb 3&lt;br /&gt;
 user nobody&lt;br /&gt;
 group nogroup&lt;br /&gt;
 dev ${OVPN_DEV}&lt;br /&gt;
 port ${OVPN_PORT}&lt;br /&gt;
 proto ${OVPN_PROTO}&lt;br /&gt;
 server ${OVPN_POOL}&lt;br /&gt;
 topology subnet&lt;br /&gt;
 client-to-client&lt;br /&gt;
 keepalive 10 120&lt;br /&gt;
 persist-tun&lt;br /&gt;
 persist-key&lt;br /&gt;
 push &amp;quot;dhcp-option DNS ${OVPN_DNS}&amp;quot;&lt;br /&gt;
 push &amp;quot;dhcp-option DOMAIN ${OVPN_DOMAIN}&amp;quot;&lt;br /&gt;
 push &amp;quot;redirect-gateway def1&amp;quot;&lt;br /&gt;
 push &amp;quot;persist-tun&amp;quot;&lt;br /&gt;
 push &amp;quot;persist-key&amp;quot;&lt;br /&gt;
 &amp;lt;dh&amp;gt;${NL}${OVPN_DH}${NL}&amp;lt;/dh&amp;gt;&lt;br /&gt;
 &amp;lt;tls-auth&amp;gt;${NL}${OVPN_TC}${NL}&amp;lt;/tls-auth&amp;gt;&lt;br /&gt;
 &amp;lt;ca&amp;gt;${NL}${OVPN_CA}${NL}&amp;lt;/ca&amp;gt;&lt;br /&gt;
 &amp;lt;cert&amp;gt;${NL}${OVPN_CERT}${NL}&amp;lt;/cert&amp;gt;&lt;br /&gt;
 &amp;lt;key&amp;gt;${NL}${OVPN_KEY}${NL}&amp;lt;/key&amp;gt;&lt;br /&gt;
 EOF&lt;br /&gt;
 done&lt;br /&gt;
 /etc/init.d/openvpn restart&lt;br /&gt;
&lt;br /&gt;
5. Create client configuration file:&lt;br /&gt;
&lt;br /&gt;
 # Fetch IP address or update to FQDN&lt;br /&gt;
 #OVPN_SERV=&amp;quot;fqdn.myhome.com&amp;quot;&lt;br /&gt;
 OVPN_SERV=`wget -qO- ifconfig.co`&lt;br /&gt;
 &lt;br /&gt;
 # Configuration parameters&lt;br /&gt;
 OVPN_DIR=&amp;quot;/etc/openvpn&amp;quot;&lt;br /&gt;
 OVPN_PKI=&amp;quot;/etc/easy-rsa/pki&amp;quot;&lt;br /&gt;
 OVPN_DEV=&amp;quot;$(uci get firewall.lan.device | sed -e &amp;quot;s/^.*\s//&amp;quot;)&amp;quot;&lt;br /&gt;
 OVPN_PORT=&amp;quot;$(uci get firewall.ovpn.dest_port)&amp;quot;&lt;br /&gt;
 OVPN_PROTO=&amp;quot;$(uci get firewall.ovpn.proto)&amp;quot;&lt;br /&gt;
 OVPN_TC=&amp;quot;$(sed -e &amp;quot;/^#/d;/^\w/N;s/\n//&amp;quot; ${OVPN_PKI}/tc.pem)&amp;quot;&lt;br /&gt;
 OVPN_CA=&amp;quot;$(openssl x509 -in ${OVPN_PKI}/ca.crt)&amp;quot;&lt;br /&gt;
 NL=$&amp;#039;\n&amp;#039;&lt;br /&gt;
  &lt;br /&gt;
 # Generate VPN client profiles&lt;br /&gt;
 umask u=rw,g=,o=&lt;br /&gt;
 grep -l -r -e &amp;quot;TLS Web Client Auth&amp;quot; &amp;quot;${OVPN_PKI}/issued&amp;quot; \&lt;br /&gt;
 | sed -e &amp;quot;s/^.*\///;s/\.\w*$//&amp;quot; \&lt;br /&gt;
 | while read -r OVPN_ID&lt;br /&gt;
 do&lt;br /&gt;
 OVPN_CERT=&amp;quot;$(openssl x509 -in ${OVPN_PKI}/issued/${OVPN_ID}.crt)&amp;quot;&lt;br /&gt;
 OVPN_KEY=&amp;quot;$(cat ${OVPN_PKI}/private/${OVPN_ID}.key)&amp;quot;&lt;br /&gt;
 cat &amp;lt;&amp;lt; EOF &amp;gt; ${OVPN_DIR}/${OVPN_ID}.ovpn&lt;br /&gt;
 verb 3&lt;br /&gt;
 dev ${OVPN_DEV%%[0-9]*}&lt;br /&gt;
 nobind&lt;br /&gt;
 client&lt;br /&gt;
 remote ${OVPN_SERV} ${OVPN_PORT} ${OVPN_PROTO}&lt;br /&gt;
 auth-nocache&lt;br /&gt;
 remote-cert-tls server&lt;br /&gt;
 &amp;lt;tls-auth&amp;gt;${NL}${OVPN_TC}${NL}&amp;lt;/tls-auth&amp;gt;&lt;br /&gt;
 &amp;lt;ca&amp;gt;${NL}${OVPN_CA}${NL}&amp;lt;/ca&amp;gt;&lt;br /&gt;
 &amp;lt;cert&amp;gt;${NL}${OVPN_CERT}${NL}&amp;lt;/cert&amp;gt;&lt;br /&gt;
 &amp;lt;key&amp;gt;${NL}${OVPN_KEY}${NL}&amp;lt;/key&amp;gt;&lt;br /&gt;
 EOF&lt;br /&gt;
 done&lt;br /&gt;
 ls ${OVPN_DIR}/*.ovpn&lt;/div&gt;</summary>
		<author><name>Meadmin</name></author>	</entry>

	<entry>
		<id>https://mywiki.romanost.co.il/index.php?title=Home_Assistant&amp;diff=81</id>
		<title>Home Assistant</title>
		<link rel="alternate" type="text/html" href="https://mywiki.romanost.co.il/index.php?title=Home_Assistant&amp;diff=81"/>
				<updated>2020-04-25T13:53:04Z</updated>
		
		<summary type="html">&lt;p&gt;Meadmin: Created page with &amp;quot;Here will be some interesting stuff related to Home assistant (hassio)&amp;quot;&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Here will be some interesting stuff related to Home assistant (hassio)&lt;/div&gt;</summary>
		<author><name>Meadmin</name></author>	</entry>

	<entry>
		<id>https://mywiki.romanost.co.il/index.php?title=Main_Page&amp;diff=80</id>
		<title>Main Page</title>
		<link rel="alternate" type="text/html" href="https://mywiki.romanost.co.il/index.php?title=Main_Page&amp;diff=80"/>
				<updated>2020-04-25T13:52:26Z</updated>
		
		<summary type="html">&lt;p&gt;Meadmin: /* List of content */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&lt;br /&gt;
== List of content ==&lt;br /&gt;
&lt;br /&gt;
[[Windows]]&lt;br /&gt;
&lt;br /&gt;
[[Linux]]&lt;br /&gt;
&lt;br /&gt;
[[Dbs]]&lt;br /&gt;
&lt;br /&gt;
[[Mails]]&lt;br /&gt;
&lt;br /&gt;
[[Exim]]&lt;br /&gt;
&lt;br /&gt;
[[Dockers]]&lt;br /&gt;
&lt;br /&gt;
[[Kubernetes]]&lt;br /&gt;
&lt;br /&gt;
[[Yamls]]&lt;br /&gt;
&lt;br /&gt;
[[GCP]]&lt;br /&gt;
&lt;br /&gt;
[[OpenWRT]]&lt;br /&gt;
&lt;br /&gt;
[[Home Assistant]]&lt;/div&gt;</summary>
		<author><name>Meadmin</name></author>	</entry>

	<entry>
		<id>https://mywiki.romanost.co.il/index.php?title=OpenWRT&amp;diff=79</id>
		<title>OpenWRT</title>
		<link rel="alternate" type="text/html" href="https://mywiki.romanost.co.il/index.php?title=OpenWRT&amp;diff=79"/>
				<updated>2020-04-25T13:50:55Z</updated>
		
		<summary type="html">&lt;p&gt;Meadmin: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Install OpenVPN on OpenWRT&lt;br /&gt;
&lt;br /&gt;
1. Install packages:&lt;br /&gt;
 opkg update&lt;br /&gt;
 opkg install  luci-app-openvpn&lt;br /&gt;
 opkg install  openvpn-openssl&lt;br /&gt;
 wget https://raw.githubusercontent.com/OpenVPN/easy-rsa/master/easyrsa3/easyrsa&lt;br /&gt;
 chmod 755 easyrsa&lt;br /&gt;
 mv easyrsa /usr/bin&lt;br /&gt;
 mkdir -p /etc/easy-rsa/pki/x509-types&lt;br /&gt;
 wget https://raw.githubusercontent.com/OpenVPN/easy-rsa/master/easyrsa3/x509-types/server&lt;br /&gt;
 wget https://raw.githubusercontent.com/OpenVPN/easy-rsa/master/easyrsa3/x509-types/client&lt;br /&gt;
 mv server /etc/easy-rsa/pki/x509-types/ &lt;br /&gt;
 mv client /etc/easy-rsa/pki/x509-types/&lt;br /&gt;
&lt;br /&gt;
2. Configure firewall&lt;br /&gt;
 uci rename firewall.@zone[0]=&amp;quot;lan&amp;quot;&lt;br /&gt;
 uci rename firewall.@zone[1]=&amp;quot;wan&amp;quot;&lt;br /&gt;
 uci rename firewall.@forwarding[0]=&amp;quot;lan_wan&amp;quot;&lt;br /&gt;
 uci del_list firewall.lan.device=&amp;quot;tun0&amp;quot;&lt;br /&gt;
 uci add_list firewall.lan.device=&amp;quot;tun0&amp;quot;&lt;br /&gt;
 uci -q delete firewall.vpn&lt;br /&gt;
 uci set firewall.ovpn=&amp;quot;rule&amp;quot;&lt;br /&gt;
 uci set firewall.ovpn.name=&amp;quot;Allow-OpenVPN&amp;quot;&lt;br /&gt;
 uci set firewall.ovpn.src=&amp;quot;wan&amp;quot;&lt;br /&gt;
 uci set firewall.ovpn.dest_port=&amp;quot;1194&amp;quot;&lt;br /&gt;
 uci set firewall.ovpn.proto=&amp;quot;udp&amp;quot;&lt;br /&gt;
 uci set firewall.ovpn.target=&amp;quot;ACCEPT&amp;quot;&lt;br /&gt;
 uci commit firewall&lt;br /&gt;
 /etc/init.d/firewall restart&lt;br /&gt;
&lt;br /&gt;
3. Create Certificates:&lt;br /&gt;
 export EASYRSA_PKI=&amp;quot;/etc/easy-rsa/pki&amp;quot; &lt;br /&gt;
 export EASYRSA_REQ_CN=&amp;quot;ovpnca&amp;quot;&lt;br /&gt;
 # Remove and re-initialize the PKI directory&lt;br /&gt;
 easyrsa --batch init-pki&lt;br /&gt;
 # Generate DH parameters&lt;br /&gt;
 easyrsa --batch gen-dh&lt;br /&gt;
 # Create a new CA&lt;br /&gt;
 easyrsa --batch build-ca nopass&lt;br /&gt;
 # Generate a keypair and sign locally for a server&lt;br /&gt;
 easyrsa --batch build-server-full server nopass&lt;br /&gt;
 # Generate a keypair and sign locally for a client &lt;br /&gt;
 easyrsa --batch build-client-full client nopass&lt;br /&gt;
&lt;br /&gt;
4. Configure VPN server:&lt;br /&gt;
 # Generate TLS PSK&lt;br /&gt;
 OVPN_PKI=&amp;quot;/etc/easy-rsa/pki&amp;quot;&lt;br /&gt;
 openvpn --genkey --secret ${OVPN_PKI}/tc.pem&lt;br /&gt;
 &lt;br /&gt;
 # Configuration parameters&lt;br /&gt;
 OVPN_DIR=&amp;quot;/etc/openvpn&amp;quot;&lt;br /&gt;
 OVPN_PKI=&amp;quot;/etc/easy-rsa/pki&amp;quot;&lt;br /&gt;
 OVPN_DEV=&amp;quot;$(uci get firewall.lan.device | sed -e &amp;quot;s/^.*\s//&amp;quot;)&amp;quot;&lt;br /&gt;
 OVPN_PORT=&amp;quot;$(uci get firewall.ovpn.dest_port)&amp;quot;&lt;br /&gt;
 OVPN_PROTO=&amp;quot;$(uci get firewall.ovpn.proto)&amp;quot;&lt;br /&gt;
 OVPN_POOL=&amp;quot;192.168.8.0 255.255.255.0&amp;quot;&lt;br /&gt;
 OVPN_DNS=&amp;quot;${OVPN_POOL%.* *}.1&amp;quot;&lt;br /&gt;
 OVPN_DOMAIN=&amp;quot;$(uci get dhcp.@dnsmasq[0].domain)&amp;quot;&lt;br /&gt;
 OVPN_DH=&amp;quot;$(cat ${OVPN_PKI}/dh.pem)&amp;quot;&lt;br /&gt;
 OVPN_TC=&amp;quot;$(sed -e &amp;quot;/^#/d;/^\w/N;s/\n//&amp;quot; ${OVPN_PKI}/tc.pem)&amp;quot;&lt;br /&gt;
 OVPN_CA=&amp;quot;$(openssl x509 -in ${OVPN_PKI}/ca.crt)&amp;quot;&lt;br /&gt;
 NL=$&amp;#039;\n&amp;#039;&lt;br /&gt;
 &lt;br /&gt;
 # Configure VPN server&lt;br /&gt;
 umask u=rw,g=,o=&lt;br /&gt;
 grep -l -r -e &amp;quot;TLS Web Server Auth&amp;quot; &amp;quot;${OVPN_PKI}/issued&amp;quot; \&lt;br /&gt;
 | sed -e &amp;quot;s/^.*\///;s/\.\w*$//&amp;quot; \&lt;br /&gt;
 | while read -r OVPN_ID&lt;br /&gt;
 do&lt;br /&gt;
 OVPN_CERT=&amp;quot;$(openssl x509 -in ${OVPN_PKI}/issued/${OVPN_ID}.crt)&amp;quot;&lt;br /&gt;
 OVPN_KEY=&amp;quot;$(cat ${OVPN_PKI}/private/${OVPN_ID}.key)&amp;quot;&lt;br /&gt;
 cat &amp;lt;&amp;lt; EOF &amp;gt; ${OVPN_DIR}/${OVPN_ID}.conf&lt;br /&gt;
 verb 3&lt;br /&gt;
 user nobody&lt;br /&gt;
 group nogroup&lt;br /&gt;
 dev ${OVPN_DEV}&lt;br /&gt;
 port ${OVPN_PORT}&lt;br /&gt;
 proto ${OVPN_PROTO}&lt;br /&gt;
 server ${OVPN_POOL}&lt;br /&gt;
 topology subnet&lt;br /&gt;
 client-to-client&lt;br /&gt;
 keepalive 10 120&lt;br /&gt;
 persist-tun&lt;br /&gt;
 persist-key&lt;br /&gt;
 push &amp;quot;dhcp-option DNS ${OVPN_DNS}&amp;quot;&lt;br /&gt;
 push &amp;quot;dhcp-option DOMAIN ${OVPN_DOMAIN}&amp;quot;&lt;br /&gt;
 push &amp;quot;redirect-gateway def1&amp;quot;&lt;br /&gt;
 push &amp;quot;persist-tun&amp;quot;&lt;br /&gt;
 push &amp;quot;persist-key&amp;quot;&lt;br /&gt;
 &amp;lt;dh&amp;gt;${NL}${OVPN_DH}${NL}&amp;lt;/dh&amp;gt;&lt;br /&gt;
 &amp;lt;tls-auth&amp;gt;${NL}${OVPN_TC}${NL}&amp;lt;/tls-auth&amp;gt;&lt;br /&gt;
 &amp;lt;ca&amp;gt;${NL}${OVPN_CA}${NL}&amp;lt;/ca&amp;gt;&lt;br /&gt;
 &amp;lt;cert&amp;gt;${NL}${OVPN_CERT}${NL}&amp;lt;/cert&amp;gt;&lt;br /&gt;
 &amp;lt;key&amp;gt;${NL}${OVPN_KEY}${NL}&amp;lt;/key&amp;gt;&lt;br /&gt;
 EOF&lt;br /&gt;
 done&lt;br /&gt;
 /etc/init.d/openvpn restart&lt;br /&gt;
&lt;br /&gt;
5. Create client configuration file:&lt;br /&gt;
&lt;br /&gt;
 # Fetch IP address or update to FQDN&lt;br /&gt;
 #OVPN_SERV=&amp;quot;fqdn.myhome.com&amp;quot;&lt;br /&gt;
 OVPN_SERV=`wget -qO- ifconfig.co`&lt;br /&gt;
 &lt;br /&gt;
 # Configuration parameters&lt;br /&gt;
 OVPN_DIR=&amp;quot;/etc/openvpn&amp;quot;&lt;br /&gt;
 OVPN_PKI=&amp;quot;/etc/easy-rsa/pki&amp;quot;&lt;br /&gt;
 OVPN_DEV=&amp;quot;$(uci get firewall.lan.device | sed -e &amp;quot;s/^.*\s//&amp;quot;)&amp;quot;&lt;br /&gt;
 OVPN_PORT=&amp;quot;$(uci get firewall.ovpn.dest_port)&amp;quot;&lt;br /&gt;
 OVPN_PROTO=&amp;quot;$(uci get firewall.ovpn.proto)&amp;quot;&lt;br /&gt;
 OVPN_TC=&amp;quot;$(sed -e &amp;quot;/^#/d;/^\w/N;s/\n//&amp;quot; ${OVPN_PKI}/tc.pem)&amp;quot;&lt;br /&gt;
 OVPN_CA=&amp;quot;$(openssl x509 -in ${OVPN_PKI}/ca.crt)&amp;quot;&lt;br /&gt;
 NL=$&amp;#039;\n&amp;#039;&lt;br /&gt;
  &lt;br /&gt;
 # Generate VPN client profiles&lt;br /&gt;
 umask u=rw,g=,o=&lt;br /&gt;
 grep -l -r -e &amp;quot;TLS Web Client Auth&amp;quot; &amp;quot;${OVPN_PKI}/issued&amp;quot; \&lt;br /&gt;
 | sed -e &amp;quot;s/^.*\///;s/\.\w*$//&amp;quot; \&lt;br /&gt;
 | while read -r OVPN_ID&lt;br /&gt;
 do&lt;br /&gt;
 OVPN_CERT=&amp;quot;$(openssl x509 -in ${OVPN_PKI}/issued/${OVPN_ID}.crt)&amp;quot;&lt;br /&gt;
 OVPN_KEY=&amp;quot;$(cat ${OVPN_PKI}/private/${OVPN_ID}.key)&amp;quot;&lt;br /&gt;
 cat &amp;lt;&amp;lt; EOF &amp;gt; ${OVPN_DIR}/${OVPN_ID}.ovpn&lt;br /&gt;
 verb 3&lt;br /&gt;
 dev ${OVPN_DEV%%[0-9]*}&lt;br /&gt;
 nobind&lt;br /&gt;
 client&lt;br /&gt;
 remote ${OVPN_SERV} ${OVPN_PORT} ${OVPN_PROTO}&lt;br /&gt;
 auth-nocache&lt;br /&gt;
 remote-cert-tls server&lt;br /&gt;
 &amp;lt;tls-auth&amp;gt;${NL}${OVPN_TC}${NL}&amp;lt;/tls-auth&amp;gt;&lt;br /&gt;
 &amp;lt;ca&amp;gt;${NL}${OVPN_CA}${NL}&amp;lt;/ca&amp;gt;&lt;br /&gt;
 &amp;lt;cert&amp;gt;${NL}${OVPN_CERT}${NL}&amp;lt;/cert&amp;gt;&lt;br /&gt;
 &amp;lt;key&amp;gt;${NL}${OVPN_KEY}${NL}&amp;lt;/key&amp;gt;&lt;br /&gt;
 EOF&lt;br /&gt;
 done&lt;br /&gt;
 ls ${OVPN_DIR}/*.ovpn&lt;/div&gt;</summary>
		<author><name>Meadmin</name></author>	</entry>

	<entry>
		<id>https://mywiki.romanost.co.il/index.php?title=OpenWRT&amp;diff=78</id>
		<title>OpenWRT</title>
		<link rel="alternate" type="text/html" href="https://mywiki.romanost.co.il/index.php?title=OpenWRT&amp;diff=78"/>
				<updated>2020-04-25T13:39:54Z</updated>
		
		<summary type="html">&lt;p&gt;Meadmin: Created page with &amp;quot;Install OpenVPN on OpenWRT  1. Install packages:  opkg update  opkg install  luci-app-openvpn  opkg install  openvpn-openssl  wget https://raw.githubusercontent.com/OpenVPN/ea...&amp;quot;&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Install OpenVPN on OpenWRT&lt;br /&gt;
&lt;br /&gt;
1. Install packages:&lt;br /&gt;
 opkg update&lt;br /&gt;
 opkg install  luci-app-openvpn&lt;br /&gt;
 opkg install  openvpn-openssl&lt;br /&gt;
 wget https://raw.githubusercontent.com/OpenVPN/easy-rsa/master/easyrsa3/easyrsa&lt;br /&gt;
 chmod 755 easyrsa&lt;br /&gt;
 mv easyrsa /usr/bin&lt;br /&gt;
 mkdir -p /etc/easy-rsa/pki/x509-types&lt;br /&gt;
 wget https://raw.githubusercontent.com/OpenVPN/easy-rsa/master/easyrsa3/x509-types/server&lt;br /&gt;
 wget https://raw.githubusercontent.com/OpenVPN/easy-rsa/master/easyrsa3/x509-types/client&lt;br /&gt;
 mv server /etc/easy-rsa/pki/x509-types/ &lt;br /&gt;
 mv client /etc/easy-rsa/pki/x509-types/&lt;br /&gt;
&lt;br /&gt;
2. Configure firewall&lt;br /&gt;
 uci rename firewall.@zone[0]=&amp;quot;lan&amp;quot;&lt;br /&gt;
 uci rename firewall.@zone[1]=&amp;quot;wan&amp;quot;&lt;br /&gt;
 uci rename firewall.@forwarding[0]=&amp;quot;lan_wan&amp;quot;&lt;br /&gt;
 uci del_list firewall.lan.device=&amp;quot;tun0&amp;quot;&lt;br /&gt;
 uci add_list firewall.lan.device=&amp;quot;tun0&amp;quot;&lt;br /&gt;
 uci -q delete firewall.vpn&lt;br /&gt;
 uci set firewall.ovpn=&amp;quot;rule&amp;quot;&lt;br /&gt;
 uci set firewall.ovpn.name=&amp;quot;Allow-OpenVPN&amp;quot;&lt;br /&gt;
 uci set firewall.ovpn.src=&amp;quot;wan&amp;quot;&lt;br /&gt;
 uci set firewall.ovpn.dest_port=&amp;quot;1194&amp;quot;&lt;br /&gt;
 uci set firewall.ovpn.proto=&amp;quot;udp&amp;quot;&lt;br /&gt;
 uci set firewall.ovpn.target=&amp;quot;ACCEPT&amp;quot;&lt;br /&gt;
 uci commit firewall&lt;br /&gt;
 /etc/init.d/firewall restart&lt;br /&gt;
&lt;br /&gt;
3. Create Certificates:&lt;br /&gt;
 export EASYRSA_PKI=&amp;quot;/etc/easy-rsa/pki&amp;quot; &lt;br /&gt;
 export EASYRSA_REQ_CN=&amp;quot;ovpnca&amp;quot;&lt;br /&gt;
 # Remove and re-initialize the PKI directory&lt;br /&gt;
 easyrsa --batch init-pki&lt;br /&gt;
 # Generate DH parameters&lt;br /&gt;
 easyrsa --batch gen-dh&lt;br /&gt;
 # Create a new CA&lt;br /&gt;
 easyrsa --batch build-ca nopass&lt;br /&gt;
 # Generate a keypair and sign locally for a server&lt;br /&gt;
 easyrsa --batch build-server-full server nopass&lt;br /&gt;
 # Generate a keypair and sign locally for a client &lt;br /&gt;
 easyrsa --batch build-client-full client nopass&lt;br /&gt;
&lt;br /&gt;
4. Configure VPN server:&lt;br /&gt;
 # Generate TLS PSK&lt;br /&gt;
 OVPN_PKI=&amp;quot;/etc/easy-rsa/pki&amp;quot;&lt;br /&gt;
 openvpn --genkey --secret ${OVPN_PKI}/tc.pem&lt;br /&gt;
 &lt;br /&gt;
 # Configuration parameters&lt;br /&gt;
 OVPN_DIR=&amp;quot;/etc/openvpn&amp;quot;&lt;br /&gt;
 OVPN_PKI=&amp;quot;/etc/easy-rsa/pki&amp;quot;&lt;br /&gt;
 OVPN_DEV=&amp;quot;$(uci get firewall.lan.device | sed -e &amp;quot;s/^.*\s//&amp;quot;)&amp;quot;&lt;br /&gt;
 OVPN_PORT=&amp;quot;$(uci get firewall.ovpn.dest_port)&amp;quot;&lt;br /&gt;
 OVPN_PROTO=&amp;quot;$(uci get firewall.ovpn.proto)&amp;quot;&lt;br /&gt;
 OVPN_POOL=&amp;quot;192.168.8.0 255.255.255.0&amp;quot;&lt;br /&gt;
 OVPN_DNS=&amp;quot;${OVPN_POOL%.* *}.1&amp;quot;&lt;br /&gt;
 OVPN_DOMAIN=&amp;quot;$(uci get dhcp.@dnsmasq[0].domain)&amp;quot;&lt;br /&gt;
 OVPN_DH=&amp;quot;$(cat ${OVPN_PKI}/dh.pem)&amp;quot;&lt;br /&gt;
 OVPN_TC=&amp;quot;$(sed -e &amp;quot;/^#/d;/^\w/N;s/\n//&amp;quot; ${OVPN_PKI}/tc.pem)&amp;quot;&lt;br /&gt;
 OVPN_CA=&amp;quot;$(openssl x509 -in ${OVPN_PKI}/ca.crt)&amp;quot;&lt;br /&gt;
 NL=$&amp;#039;\n&amp;#039;&lt;br /&gt;
 &lt;br /&gt;
 # Configure VPN server&lt;br /&gt;
 umask u=rw,g=,o=&lt;br /&gt;
 grep -l -r -e &amp;quot;TLS Web Server Auth&amp;quot; &amp;quot;${OVPN_PKI}/issued&amp;quot; \&lt;br /&gt;
 | sed -e &amp;quot;s/^.*\///;s/\.\w*$//&amp;quot; \&lt;br /&gt;
 | while read -r OVPN_ID&lt;br /&gt;
 do&lt;br /&gt;
 OVPN_CERT=&amp;quot;$(openssl x509 -in ${OVPN_PKI}/issued/${OVPN_ID}.crt)&amp;quot;&lt;br /&gt;
 OVPN_KEY=&amp;quot;$(cat ${OVPN_PKI}/private/${OVPN_ID}.key)&amp;quot;&lt;br /&gt;
 cat &amp;lt;&amp;lt; EOF &amp;gt; ${OVPN_DIR}/${OVPN_ID}.conf&lt;br /&gt;
 verb 3&lt;br /&gt;
 user nobody&lt;br /&gt;
 group nogroup&lt;br /&gt;
 dev ${OVPN_DEV}&lt;br /&gt;
 port ${OVPN_PORT}&lt;br /&gt;
 proto ${OVPN_PROTO}&lt;br /&gt;
 server ${OVPN_POOL}&lt;br /&gt;
 topology subnet&lt;br /&gt;
 client-to-client&lt;br /&gt;
 keepalive 10 120&lt;br /&gt;
 persist-tun&lt;br /&gt;
 persist-key&lt;br /&gt;
 push &amp;quot;dhcp-option DNS ${OVPN_DNS}&amp;quot;&lt;br /&gt;
 push &amp;quot;dhcp-option DOMAIN ${OVPN_DOMAIN}&amp;quot;&lt;br /&gt;
 push &amp;quot;redirect-gateway def1&amp;quot;&lt;br /&gt;
 push &amp;quot;persist-tun&amp;quot;&lt;br /&gt;
 push &amp;quot;persist-key&amp;quot;&lt;br /&gt;
 &amp;lt;dh&amp;gt;${NL}${OVPN_DH}${NL}&amp;lt;/dh&amp;gt;&lt;br /&gt;
 &amp;lt;tls-auth&amp;gt;${NL}${OVPN_TC}${NL}&amp;lt;/tls-auth&amp;gt;&lt;br /&gt;
 &amp;lt;ca&amp;gt;${NL}${OVPN_CA}${NL}&amp;lt;/ca&amp;gt;&lt;br /&gt;
 &amp;lt;cert&amp;gt;${NL}${OVPN_CERT}${NL}&amp;lt;/cert&amp;gt;&lt;br /&gt;
 &amp;lt;key&amp;gt;${NL}${OVPN_KEY}${NL}&amp;lt;/key&amp;gt;&lt;br /&gt;
 EOF&lt;br /&gt;
 done&lt;br /&gt;
 /etc/init.d/openvpn restart&lt;br /&gt;
&lt;br /&gt;
5. Create client configuration file:&lt;br /&gt;
&lt;br /&gt;
 # Fetch IP address&lt;br /&gt;
 OVPN_SERV=`wget -qO- ifconfig.co`&lt;br /&gt;
 &lt;br /&gt;
 # Configuration parameters&lt;br /&gt;
 OVPN_DIR=&amp;quot;/etc/openvpn&amp;quot;&lt;br /&gt;
 OVPN_PKI=&amp;quot;/etc/easy-rsa/pki&amp;quot;&lt;br /&gt;
 OVPN_DEV=&amp;quot;$(uci get firewall.lan.device | sed -e &amp;quot;s/^.*\s//&amp;quot;)&amp;quot;&lt;br /&gt;
 OVPN_PORT=&amp;quot;$(uci get firewall.ovpn.dest_port)&amp;quot;&lt;br /&gt;
 OVPN_PROTO=&amp;quot;$(uci get firewall.ovpn.proto)&amp;quot;&lt;br /&gt;
 OVPN_TC=&amp;quot;$(sed -e &amp;quot;/^#/d;/^\w/N;s/\n//&amp;quot; ${OVPN_PKI}/tc.pem)&amp;quot;&lt;br /&gt;
 OVPN_CA=&amp;quot;$(openssl x509 -in ${OVPN_PKI}/ca.crt)&amp;quot;&lt;br /&gt;
 NL=$&amp;#039;\n&amp;#039;&lt;br /&gt;
  &lt;br /&gt;
 # Generate VPN client profiles&lt;br /&gt;
 umask u=rw,g=,o=&lt;br /&gt;
 grep -l -r -e &amp;quot;TLS Web Client Auth&amp;quot; &amp;quot;${OVPN_PKI}/issued&amp;quot; \&lt;br /&gt;
 | sed -e &amp;quot;s/^.*\///;s/\.\w*$//&amp;quot; \&lt;br /&gt;
 | while read -r OVPN_ID&lt;br /&gt;
 do&lt;br /&gt;
 OVPN_CERT=&amp;quot;$(openssl x509 -in ${OVPN_PKI}/issued/${OVPN_ID}.crt)&amp;quot;&lt;br /&gt;
 OVPN_KEY=&amp;quot;$(cat ${OVPN_PKI}/private/${OVPN_ID}.key)&amp;quot;&lt;br /&gt;
 cat &amp;lt;&amp;lt; EOF &amp;gt; ${OVPN_DIR}/${OVPN_ID}.ovpn&lt;br /&gt;
 verb 3&lt;br /&gt;
 dev ${OVPN_DEV%%[0-9]*}&lt;br /&gt;
 nobind&lt;br /&gt;
 client&lt;br /&gt;
 remote ${OVPN_SERV} ${OVPN_PORT} ${OVPN_PROTO}&lt;br /&gt;
 auth-nocache&lt;br /&gt;
 remote-cert-tls server&lt;br /&gt;
 &amp;lt;tls-auth&amp;gt;${NL}${OVPN_TC}${NL}&amp;lt;/tls-auth&amp;gt;&lt;br /&gt;
 &amp;lt;ca&amp;gt;${NL}${OVPN_CA}${NL}&amp;lt;/ca&amp;gt;&lt;br /&gt;
 &amp;lt;cert&amp;gt;${NL}${OVPN_CERT}${NL}&amp;lt;/cert&amp;gt;&lt;br /&gt;
 &amp;lt;key&amp;gt;${NL}${OVPN_KEY}${NL}&amp;lt;/key&amp;gt;&lt;br /&gt;
 EOF&lt;br /&gt;
 done&lt;br /&gt;
 ls ${OVPN_DIR}/*.ovpn&lt;/div&gt;</summary>
		<author><name>Meadmin</name></author>	</entry>

	<entry>
		<id>https://mywiki.romanost.co.il/index.php?title=Main_Page&amp;diff=77</id>
		<title>Main Page</title>
		<link rel="alternate" type="text/html" href="https://mywiki.romanost.co.il/index.php?title=Main_Page&amp;diff=77"/>
				<updated>2020-04-25T13:23:05Z</updated>
		
		<summary type="html">&lt;p&gt;Meadmin: /* List of content */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&lt;br /&gt;
== List of content ==&lt;br /&gt;
&lt;br /&gt;
[[Windows]]&lt;br /&gt;
&lt;br /&gt;
[[Linux]]&lt;br /&gt;
&lt;br /&gt;
[[Dbs]]&lt;br /&gt;
&lt;br /&gt;
[[Mails]]&lt;br /&gt;
&lt;br /&gt;
[[Exim]]&lt;br /&gt;
&lt;br /&gt;
[[Dockers]]&lt;br /&gt;
&lt;br /&gt;
[[Kubernetes]]&lt;br /&gt;
&lt;br /&gt;
[[Yamls]]&lt;br /&gt;
&lt;br /&gt;
[[GCP]]&lt;br /&gt;
&lt;br /&gt;
[[OpenWRT]]&lt;/div&gt;</summary>
		<author><name>Meadmin</name></author>	</entry>

	<entry>
		<id>https://mywiki.romanost.co.il/index.php?title=Scripts&amp;diff=76</id>
		<title>Scripts</title>
		<link rel="alternate" type="text/html" href="https://mywiki.romanost.co.il/index.php?title=Scripts&amp;diff=76"/>
				<updated>2019-09-04T12:17:00Z</updated>
		
		<summary type="html">&lt;p&gt;Meadmin: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&lt;br /&gt;
== Flying replication ==&lt;br /&gt;
&lt;br /&gt;
 rsync -avz 192.168.1.122:/usr/local/apache/conf/ /usr/local/apache/conf/ --delete&lt;br /&gt;
 rsync -avz 192.168.1.122:/var/named/ /var/named/ --delete&lt;br /&gt;
 rsync -avz 192.168.1.122:/usr/local/cpanel/ /usr/local/cpanel/ --delete&lt;br /&gt;
 rsync -avz 192.168.1.122:/var/cpanel/ /var/cpanel --delete&lt;br /&gt;
 &lt;br /&gt;
 for x in `cat /etc/trueuserowners|grep -v &amp;quot;#&amp;quot;|cut -d: -f1`;do /usr/local/cpanel/bin/setsiteip -u $x `hostname -i` ;done;  &lt;br /&gt;
 &lt;br /&gt;
 /scripts/rebuildhttpdconf&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== WHM replication to clean server ==&lt;br /&gt;
&lt;br /&gt;
 #!/bin/bash&lt;br /&gt;
 rsync -avz 192.168.1.21:/etc/apache2/conf/ /etc/httpd/conf/&lt;br /&gt;
 rsync -avz 192.168.1.21:/var/cpanel/ssl/installed/ /etc/ssl/certs/&lt;br /&gt;
 rsync -avz 192.168.1.21:/etc/apache2/conf.d/includes/ /etc/httpd/conf.d/includes/&lt;br /&gt;
 rsync -avz 192.168.1.21:/var/cpanel/ssl/cpanel/ /etc/ssl/certs/cpanel/&lt;br /&gt;
 sed -i &amp;quot;s/192.168.1.21/`hostname -i`/g&amp;quot; /etc/httpd/conf/httpd.conf&lt;br /&gt;
 sed -i &amp;quot;s/\/var\/cpanel\/ssl\/installed\//\/etc\/ssl\/certs\//g&amp;quot; /etc/httpd/conf/httpd.conf&lt;br /&gt;
 sed -i &amp;quot;s/\/etc\/apache2\//\/etc\/httpd\//g&amp;quot; /etc/httpd/conf/httpd.conf&lt;br /&gt;
 sed -i &amp;quot;s/RewriteMap LeechProtect/\#RewriteMap LeechProtect/g&amp;quot; /etc/httpd/conf/httpd.conf&lt;br /&gt;
 sed -i &amp;quot;s/Mutex file:\/run\/apache2/\#Mutex file:\/run\/apache2/g&amp;quot; /etc/httpd/conf/httpd.conf&lt;br /&gt;
 sed -i &amp;quot;s/apache2/httpd/g&amp;quot; /etc/httpd/conf/httpd.conf&lt;br /&gt;
 sed -i &amp;quot;s/\/var\/cpanel\/ssl\/cpanel\//\/etc\/ssl\/certs\/cpanel\//g&amp;quot; /etc/httpd/conf/httpd.conf&lt;br /&gt;
 sed -i &amp;quot;s/Listen \[\:\:\]\:80/\#Listen \[\:\:\]\:80/g&amp;quot; /etc/httpd/conf/httpd.conf&lt;br /&gt;
 &lt;br /&gt;
 rsync -avz 192.168.1.21:/opt/cpanel/ea-php55/root/etc/php.ini /etc/&lt;br /&gt;
 rsync -avz 192.168.1.21:/etc/passwd /tmp/passwd&lt;br /&gt;
 rsync -avz 192.168.1.21:/etc/group /tmp/group&lt;br /&gt;
 &lt;br /&gt;
 var1=`cat /etc/passwd |awk -F &amp;#039;:&amp;#039; &amp;#039;$3 &amp;gt; 1000 &amp;amp;&amp;amp; $3 &amp;lt; 2000 {print $0}&amp;#039;`&lt;br /&gt;
 var2=`cat /tmp/passwd |awk -F &amp;#039;:&amp;#039; &amp;#039;$3 &amp;gt; 1000 &amp;amp;&amp;amp; $3 &amp;lt; 2000 {print $0}&amp;#039;`&lt;br /&gt;
 &lt;br /&gt;
 c1=`cat /etc/passwd |awk -F &amp;#039;:&amp;#039; &amp;#039;$3 &amp;gt; 1000 &amp;amp;&amp;amp; $3 &amp;lt; 2000 {print $0}&amp;#039;|wc -l`&lt;br /&gt;
 c2=`cat /tmp/passwd |awk -F &amp;#039;:&amp;#039; &amp;#039;$3 &amp;gt; 1000 &amp;amp;&amp;amp; $3 &amp;lt; 2000 {print $0}&amp;#039;|wc -l`&lt;br /&gt;
 &lt;br /&gt;
 if [ $c2 -gt $c1 ]; then&lt;br /&gt;
        newone=`comm --nocheck-order -13 &amp;lt;(echo $var1) &amp;lt;(echo $var2)`&lt;br /&gt;
        echo $newone &amp;gt;&amp;gt; /etc/passwd&lt;br /&gt;
 fi&lt;br /&gt;
 &lt;br /&gt;
 var1=`cat /etc/group |awk -F &amp;#039;:&amp;#039; &amp;#039;$3 &amp;gt; 1000 &amp;amp;&amp;amp; $3 &amp;lt; 2000 {print $0}&amp;#039;`&lt;br /&gt;
 var2=`cat /tmp/group |awk -F &amp;#039;:&amp;#039; &amp;#039;$3 &amp;gt; 1000 &amp;amp;&amp;amp; $3 &amp;lt; 2000 {print $0}&amp;#039;`&lt;br /&gt;
 &lt;br /&gt;
 c1=`cat /etc/group |awk -F &amp;#039;:&amp;#039; &amp;#039;$3 &amp;gt; 1000 &amp;amp;&amp;amp; $3 &amp;lt; 2000 {print $0}&amp;#039;|wc -l`&lt;br /&gt;
 c2=`cat /tmp/group |awk -F &amp;#039;:&amp;#039; &amp;#039;$3 &amp;gt; 1000 &amp;amp;&amp;amp; $3 &amp;lt; 2000 {print $0}&amp;#039;|wc -l`&lt;br /&gt;
 &lt;br /&gt;
 if [ $c2 -gt $c1 ]; then&lt;br /&gt;
        newone=`comm --nocheck-order -13 &amp;lt;(echo $var1) &amp;lt;(echo $var2)`&lt;br /&gt;
        echo $newone &amp;gt;&amp;gt; /etc/group&lt;br /&gt;
 fi&lt;br /&gt;
&lt;br /&gt;
== WHM replicate suphp to clean server ==&lt;br /&gt;
&lt;br /&gt;
 scp /usr/lib64/httpd/modules/mod_suphp.so 172.18.0.6:/usr/lib64/httpd/modules/&lt;br /&gt;
 scp /etc/httpd/conf.modules.d/90-suphp.conf 172.18.0.6:/etc/httpd/conf.modules.d/&lt;br /&gt;
 scp /usr/lib64/httpd/modules/mod_suphp.so 172.18.0.6:/usr/lib64/httpd/modules/&lt;br /&gt;
 scp /usr/sbin/suphp 172.18.0.6:/usr/sbin/&lt;br /&gt;
 scp /etc/suphp.conf 172.18.0.6:/etc/&lt;br /&gt;
 scp /etc/httpd/conf.d/php.conf 172.18.0.6:/etc/httpd/conf.d/&lt;br /&gt;
 scp /etc/httpd/conf.modules.d/10-php.conf 172.18.0.6:/etc/httpd/conf.modules.d/&lt;br /&gt;
 &lt;br /&gt;
 chown root.nobody /usr/sbin/suphp&lt;br /&gt;
 chmod 4750 /usr/sbin/suphp&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Sync nginx conf ==&lt;br /&gt;
&lt;br /&gt;
 #!/bin/bash&lt;br /&gt;
 &lt;br /&gt;
 servs=(192.168.0.11 192.168.0.12 192.168.0.15 192.168.0.16 192.168.0.17 192.168.0.19 192.168.0.20 192.168.0.21 192.168.0.22 192.168.0.23 192.168.0.24 192.168.0.26 192.168.0.115 192.168.0.116 192.168.0.117 192.168.0.118 192.168.0.29 192.168.0.30)&lt;br /&gt;
 &lt;br /&gt;
 for i in &amp;quot;${servs[@]}&amp;quot;&lt;br /&gt;
 do&lt;br /&gt;
        echo $i&lt;br /&gt;
        scp nginx_conf/nginx.conf $i:/etc/nginx/&lt;br /&gt;
        scp nginx_conf/.htpasswd $i:/etc/nginx/&lt;br /&gt;
        scp -r nginx_conf/conf.d $i:/etc/nginx/&lt;br /&gt;
        ssh $i &amp;#039;sed -i &amp;quot;s/Lxxx/`echo L\`hostname|cut -d &amp;quot;-&amp;quot; -f1|sed &amp;quot;s/web//&amp;quot;\``/g&amp;quot; /etc/nginx/conf.d/* &amp;amp;&amp;amp; service nginx restart&amp;#039;&lt;br /&gt;
 done&lt;br /&gt;
&lt;br /&gt;
== Manage CWM auto start and stop server ==&lt;br /&gt;
&lt;br /&gt;
 #!/bin/bash&lt;br /&gt;
 . keys.sh&lt;br /&gt;
 &lt;br /&gt;
 &lt;br /&gt;
 minservs=4&lt;br /&gt;
 maxservs=8&lt;br /&gt;
 locon=2500&lt;br /&gt;
 hicon=8000&lt;br /&gt;
 &lt;br /&gt;
 servs=($serv_01 $serv_02 $serv_03 $serv_04 $serv_05 $serv_06 $serv_07 $serv_08)&lt;br /&gt;
 onservs=0&lt;br /&gt;
 conns=0&lt;br /&gt;
 #echo ${servs[@]}&lt;br /&gt;
 &lt;br /&gt;
 for i in &amp;quot;${servs[@]}&amp;quot;&lt;br /&gt;
 do&lt;br /&gt;
        readarray -t values &amp;lt; &amp;lt;(curl -s -H &amp;quot;AuthClientId: ${clientId}&amp;quot; -H &amp;quot;AuthSecret: ${secret}&amp;quot; &amp;quot;https://console.cloudwm.com/service/server/${i}&amp;quot;|/root/api/jq -r &amp;#039;(map(values))[]&amp;#039;) # | egrep &amp;quot;power|ip&amp;quot;&lt;br /&gt;
        #echo ${values[6]} ##power&lt;br /&gt;
        #echo ${values[14]} |sed &amp;#039;s/\&amp;quot;//g&amp;#039; ##ips&lt;br /&gt;
        if [ ${values[6]} == &amp;#039;on&amp;#039; ]; then &lt;br /&gt;
                #onservs=$((onservs+1))&lt;br /&gt;
                ((onservs++))&lt;br /&gt;
                ip=$(echo ${values[14]} |tr -d \&amp;quot;\&amp;#039;\&amp;quot;,\&amp;quot;) ##ips&lt;br /&gt;
                curcon=$(ssh $ip &amp;quot;netstat -ant | grep :80 | wc -l&amp;quot;)&lt;br /&gt;
                #echo $ip , $curcon&lt;br /&gt;
                conns=$((conns+curcon))&lt;br /&gt;
        fi&lt;br /&gt;
        #declare -p values&lt;br /&gt;
 done&lt;br /&gt;
 &lt;br /&gt;
 #echo &amp;quot;On servers: &amp;quot; $onservs&lt;br /&gt;
 #echo &amp;quot;Connections: &amp;quot; $conns&lt;br /&gt;
 &lt;br /&gt;
 mid=$((conns/onservs))&lt;br /&gt;
 #echo &amp;quot;mid: &amp;quot; $mid&lt;br /&gt;
 &lt;br /&gt;
 if [[ $mid &amp;gt; $hicon ]] &amp;amp;&amp;amp; [[ $onservs &amp;lt; $maxservs ]]; then   ## power on +1&lt;br /&gt;
        #echo &amp;quot;hi&amp;quot;&lt;br /&gt;
        srv=${servs[onservs]}&lt;br /&gt;
        #echo $srv&lt;br /&gt;
        curl -s -H &amp;quot;AuthClientId: ${clientId}&amp;quot; -H &amp;quot;AuthSecret: ${secret}&amp;quot; -X PUT -d &amp;quot;power=on&amp;quot; &amp;quot;https://console.cloudwm.com/service/server/${srv}/power&amp;quot;&lt;br /&gt;
 &lt;br /&gt;
 elif [[ $mid &amp;lt; $locon ]] &amp;amp;&amp;amp; [[ $onservs &amp;gt; $minservs ]]; then   ## power off -1&lt;br /&gt;
        #echo &amp;quot;lo&amp;quot; $onservs&lt;br /&gt;
        srv=${servs[onservs-1]}&lt;br /&gt;
        #echo $srv&lt;br /&gt;
        curl -s -H &amp;quot;AuthClientId: ${clientId}&amp;quot; -H &amp;quot;AuthSecret: ${secret}&amp;quot; -X PUT -d &amp;quot;power=off&amp;quot; &amp;quot;https://console.cloudwm.com/service/server/${srv}/power&amp;quot;&lt;br /&gt;
 fi&lt;br /&gt;
&lt;br /&gt;
== SQL dump ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
 #!/bin/bash&lt;br /&gt;
 &lt;br /&gt;
 retain=7                                ## days to keep&lt;br /&gt;
 logdir=&amp;quot;/var/www/html/sqlbackups/&amp;quot;      ## dumps folder&lt;br /&gt;
 prename=&amp;quot;db_Backup&amp;quot;                     ## name prefix&lt;br /&gt;
 postname=&amp;quot;.sql.gz&amp;quot;                      ## name suffix&lt;br /&gt;
 mailaddr=&amp;quot;eitani@gmail.com&amp;quot;&lt;br /&gt;
 &lt;br /&gt;
 dumpcmd=&amp;quot;mysqldump --all-databases&amp;quot;&lt;br /&gt;
 date=`date +&amp;quot;%d%b%y&amp;quot;`&lt;br /&gt;
 tmst=&amp;#039;date +%Y%m%d-%H%M%S.%N&amp;#039;&lt;br /&gt;
 outstr=&amp;quot;[`$tmst`]: Dump started\n&amp;quot;&lt;br /&gt;
 &lt;br /&gt;
 fullname=$logdir$prename&amp;quot;_&amp;quot;$date$postname&lt;br /&gt;
 &lt;br /&gt;
 if [ -z &amp;quot;$logdir&amp;quot; ]; then&lt;br /&gt;
        outstr=$outstr&amp;quot;[`$tmst`]: Log directory not set\n&amp;quot;&lt;br /&gt;
        out=1&lt;br /&gt;
 else&lt;br /&gt;
        outstr=$outstr&amp;quot;[`$tmst`]: Running dump $dumpcmd | gzip -c &amp;gt; $fullname\n&amp;quot;&lt;br /&gt;
        $dumpcmd | gzip -c &amp;gt; $fullname&lt;br /&gt;
        out=$?&lt;br /&gt;
 fi&lt;br /&gt;
 &lt;br /&gt;
 if &amp;lt;nowiki&amp;gt;[[ $out = 0 ]]; then &amp;lt;/nowiki&amp;gt;&lt;br /&gt;
        outstr=$outstr&amp;quot;[`$tmst`]: Dump done, file: $fullname\n&amp;quot;&lt;br /&gt;
        outstr=$outstr&amp;quot;[`$tmst`]: Deleting old backups (older than $retain days) from folder: $logdir\n&amp;quot;&lt;br /&gt;
        outstr=$outstr&amp;quot;[`$tmst`]: Files to be deleted: `find $logdir -type f -mtime +$retain `\n&amp;quot;&lt;br /&gt;
        `find $logdir -type f -mtime +$retain -exec rm {} \;`&lt;br /&gt;
 else&lt;br /&gt;
        outstr=$outstr&amp;quot;[`$tmst`]: Dump failed\n&amp;quot;&lt;br /&gt;
 fi&lt;br /&gt;
 &lt;br /&gt;
 outstr=$outstr&amp;quot;[`$tmst`]: Script done\n&amp;quot;&lt;br /&gt;
 &lt;br /&gt;
 #echo -e $outstr&lt;br /&gt;
 &lt;br /&gt;
 mailtxt=&amp;quot;Subject: SQLdump on webbit server\nFrom: script@webbit.web\nTo: $mailaddr\n\n$outstr&amp;quot;&lt;br /&gt;
 echo -e $mailtxt | sendmail -t&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Check DNS zones ==&lt;br /&gt;
&lt;br /&gt;
 #!/bin/bash&lt;br /&gt;
 &lt;br /&gt;
 iparr=()&lt;br /&gt;
 ipbad=()&lt;br /&gt;
 &lt;br /&gt;
 tempfile=&amp;quot;/tmp/zonetempfile.db&amp;quot;&lt;br /&gt;
 backupdir=&amp;quot;/root/oldzones&amp;quot;&lt;br /&gt;
 &lt;br /&gt;
 getzones () {&lt;br /&gt;
        zones=($(find /var/named/*.db -printf &amp;#039;%f\n&amp;#039;|sed &amp;#039;s/\.db//g&amp;#039;))&lt;br /&gt;
        #echo $zones&lt;br /&gt;
 }&lt;br /&gt;
 &lt;br /&gt;
 findoffs () {&lt;br /&gt;
        fl=$1&lt;br /&gt;
        a=()&lt;br /&gt;
        #echo &amp;quot;File: &amp;quot; $fl&lt;br /&gt;
        #cat $fl | while read line&lt;br /&gt;
        #do&lt;br /&gt;
        while read -r line&lt;br /&gt;
        do&lt;br /&gt;
                #echo &amp;quot;line: &amp;quot;$line&lt;br /&gt;
  &amp;lt;nowiki&amp;gt;              if [[ &amp;quot;${line:0:1}&amp;quot; == &amp;quot;;&amp;quot; ]] &amp;amp;&amp;amp; [[ $line == *&amp;quot;IN A&amp;quot;* ]] ; then&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
                        addr=$(echo $line|awk &amp;#039;{print $4}&amp;#039;)&lt;br /&gt;
                        #echo &amp;quot;adr:&amp;quot; $addr&lt;br /&gt;
                        checkip $addr&lt;br /&gt;
                        #echo done&lt;br /&gt;
                        changed+=($res)&lt;br /&gt;
                fi&lt;br /&gt;
        done &amp;lt; &amp;lt;(cat $fl)&lt;br /&gt;
        #done&lt;br /&gt;
 }&lt;br /&gt;
 &lt;br /&gt;
 checkip () {&lt;br /&gt;
        ipad=$1&lt;br /&gt;
        #echo $ipad&lt;br /&gt;
        if [[ &amp;quot;${iparr[@]}&amp;quot; =~ &amp;quot;i${ipad}i&amp;quot; ]]; then&lt;br /&gt;
        #if [[ &amp;quot;${iparr[@]}&amp;quot; == &amp;quot;${ipad}&amp;quot; ]]; then&lt;br /&gt;
                #echo &amp;quot;Found: &amp;quot; $ipad&lt;br /&gt;
                return 0&lt;br /&gt;
        elif [[ &amp;quot;${ipbad[@]}&amp;quot; =~ &amp;quot;i${ipad}i&amp;quot; ]]; then&lt;br /&gt;
                #echo &amp;quot;found bad: &amp;quot; $ipad&lt;br /&gt;
                return 1&lt;br /&gt;
        else&lt;br /&gt;
                #echo &amp;quot;Not found: &amp;quot; $ipad&lt;br /&gt;
                timeout 2 ping -c 1 $addr &amp;gt; /dev/null&lt;br /&gt;
                res=$?&lt;br /&gt;
                ii=&amp;quot;i&amp;quot;$ipad&amp;quot;i&amp;quot;&lt;br /&gt;
                if [[ $res == 0 ]]; then&lt;br /&gt;
                        #echo $ii&lt;br /&gt;
                        #iparr+=($ipad)&lt;br /&gt;
                        iparr+=($ii)&lt;br /&gt;
                        #echo &amp;quot;add to good: &amp;quot;$ii&lt;br /&gt;
                        return 0&lt;br /&gt;
                else&lt;br /&gt;
                        ipbad+=($ii)&lt;br /&gt;
                        #echo &amp;quot;add to bad: &amp;quot;$ii &amp;quot;, old: &amp;quot;${ipbad[@]}&lt;br /&gt;
                        return 1&lt;br /&gt;
                fi&lt;br /&gt;
                #echo &amp;quot;no&amp;quot;&lt;br /&gt;
        fi&lt;br /&gt;
 }&lt;br /&gt;
 &lt;br /&gt;
 parsezone () {&lt;br /&gt;
        zone=$1&lt;br /&gt;
        #echo &amp;quot;Zone: &amp;quot; $zone&lt;br /&gt;
        fname=&amp;quot;/var/named/$1.db&amp;quot;&lt;br /&gt;
        #echo &amp;quot;Name: &amp;quot; $fname&lt;br /&gt;
        parsed=($(named-checkzone -q -i none -s full -D $1 /var/named/$1.db | egrep &amp;quot;IN SOA|IN A&amp;quot;))&lt;br /&gt;
        #for i in `named-checkzone -q -i none -s full -D $1 /var/named/$1.db | egrep &amp;quot;IN SOA|IN A&amp;quot;`&lt;br /&gt;
        #do&lt;br /&gt;
        #       echo &amp;quot;u: &amp;quot; $i&lt;br /&gt;
        #done&lt;br /&gt;
 &lt;br /&gt;
 &lt;br /&gt;
        #echo &amp;quot;Parsed: &amp;quot; $parsed&lt;br /&gt;
        for i in ${parsed[@]}&lt;br /&gt;
        do&lt;br /&gt;
                #echo &amp;quot;z: &amp;quot; $zone &amp;quot;i: &amp;quot; $i&lt;br /&gt;
                if [[ $i == *&amp;quot;SOA&amp;quot;* ]]; then&lt;br /&gt;
                        ser=$(echo $i|awk &amp;#039;{print $7}&amp;#039;)&lt;br /&gt;
                        #echo &amp;quot;Ser: &amp;quot; $ser&lt;br /&gt;
                elif [[ $i == *&amp;quot;IN A&amp;quot;* ]]; then&lt;br /&gt;
                        host=$(echo $i|awk &amp;#039;{print $1}&amp;#039;)&lt;br /&gt;
                        addr=$(echo $i|awk &amp;#039;{print $5}&amp;#039;)&lt;br /&gt;
                        #echo &amp;quot;Pinging: *&amp;quot;$addr&amp;quot;*&amp;quot;&lt;br /&gt;
                        #timeout 3 ping -c 1 $addr #&amp;gt; /dev/null&lt;br /&gt;
                        checkip $addr&lt;br /&gt;
                        res=$?&lt;br /&gt;
                        let changed+=($res)&lt;br /&gt;
                        if [[ $res &amp;gt; 0 ]]; then&lt;br /&gt;
                                toblock+=($addr)&lt;br /&gt;
                        fi&lt;br /&gt;
                        #echo &amp;quot;Host: &amp;quot; $host &amp;quot;Addr: &amp;quot; $addr &amp;quot;Res: &amp;quot; $res&lt;br /&gt;
                fi&lt;br /&gt;
        done&lt;br /&gt;
        #echo &amp;quot;Block: &amp;quot; $toblock&lt;br /&gt;
        #echo &amp;quot;Parsed: &amp;quot; ${parsed[@]}&lt;br /&gt;
        #sers=$(echo $parsed|grep SOA|awk &amp;#039;{print $7}&amp;#039;)&lt;br /&gt;
        #sers=$(echo $parsed|grep SOA)&lt;br /&gt;
        #arec=$(echo $parsed|grep &amp;quot;IN A&amp;quot;)&lt;br /&gt;
        #echo &amp;quot;ser: &amp;quot; $sers&lt;br /&gt;
        #echo ${arec[@]}&lt;br /&gt;
        #for i in &amp;quot;${arec[@]}&amp;quot;&lt;br /&gt;
        #do&lt;br /&gt;
        #       echo &amp;quot;As: &amp;quot; $i&lt;br /&gt;
        #done&lt;br /&gt;
 }&lt;br /&gt;
 &lt;br /&gt;
 updatezone () {&lt;br /&gt;
        uzone=$1&lt;br /&gt;
        zname=$2&lt;br /&gt;
        newser=$((ser+1))&lt;br /&gt;
        #echo &amp;quot;old ser&amp;quot; $ser&lt;br /&gt;
        #echo &amp;quot;new ser&amp;quot; $newser&lt;br /&gt;
        cp $zname /root/scripts/&lt;br /&gt;
 &lt;br /&gt;
        sed -i &amp;quot;s/$ser/$newser/&amp;quot; $zname   # update serial&lt;br /&gt;
        infile=$(cat $zname)&lt;br /&gt;
        #outfile=&amp;quot;z.z&amp;quot;&lt;br /&gt;
        outfile=tempfile&lt;br /&gt;
        &amp;gt; $outfile&lt;br /&gt;
        #echo $infile&lt;br /&gt;
        for f1 in $infile&lt;br /&gt;
        do&lt;br /&gt;
                #echo &amp;quot; - &amp;quot;$f1&lt;br /&gt;
                newline=$f1&lt;br /&gt;
                if [[ &amp;quot;${f1:0:1}&amp;quot; == &amp;quot;;&amp;quot; ]] &amp;amp;&amp;amp; [[ $f1 == *&amp;quot;IN A&amp;quot;* ]] ; then&lt;br /&gt;
                        fip=$(echo $f1|awk &amp;#039;{print $4}&amp;#039;)&lt;br /&gt;
                        #echo &amp;quot;add: &amp;quot;$fip&lt;br /&gt;
                        if ! [[ &amp;quot;${ipbad[@]}&amp;quot; =~ &amp;quot;i${fip}i&amp;quot; ]]; then&lt;br /&gt;
                                #echo &amp;quot;remove from bad&amp;quot; $fip&lt;br /&gt;
                                newline=$(echo $f1|sed -r &amp;#039;s/^.{1}//&amp;#039;)&lt;br /&gt;
                                #echo &amp;quot;new: &amp;quot;$newline&lt;br /&gt;
                        fi&lt;br /&gt;
                elif [[ $f1 == *&amp;quot;IN A&amp;quot;*  ]]; then&lt;br /&gt;
                        fip=$(echo $f1|awk &amp;#039;{print $4}&amp;#039;)&lt;br /&gt;
                        #echo &amp;quot;add: &amp;quot;$fip&lt;br /&gt;
                        if ! [[ &amp;quot;${iparr[@]}&amp;quot; =~ &amp;quot;i${fip}i&amp;quot; ]]; then&lt;br /&gt;
                                #echo &amp;quot;remove from good&amp;quot; $fip&lt;br /&gt;
                                newline=&amp;quot;;&amp;quot;$f1&lt;br /&gt;
                                #echo &amp;quot;new: &amp;quot;$newline&lt;br /&gt;
                        fi&lt;br /&gt;
                fi&lt;br /&gt;
                echo $newline &amp;gt;&amp;gt; $outfile&lt;br /&gt;
        done&lt;br /&gt;
        cat $outfile &amp;gt; $zname&lt;br /&gt;
 }&lt;br /&gt;
 &lt;br /&gt;
 IFS=&amp;#039;&lt;br /&gt;
 &amp;#039;&lt;br /&gt;
 &lt;br /&gt;
 #zone=&amp;quot;eye-t.co.il&amp;quot;&lt;br /&gt;
 getzones&lt;br /&gt;
 #echo $zones&lt;br /&gt;
 &lt;br /&gt;
 #if [ ! -d $backupdir ]; then&lt;br /&gt;
 #       echo &amp;quot;nofolder&amp;quot;&lt;br /&gt;
 #       mkdir $backupdir&lt;br /&gt;
 #fi&lt;br /&gt;
 &lt;br /&gt;
 curdate=$(date +&amp;quot;%Y%m%d-%H%M%S&amp;quot;)&lt;br /&gt;
 &lt;br /&gt;
 #echo $curdate&lt;br /&gt;
 &lt;br /&gt;
 for zone in &amp;quot;${zones[@]}&amp;quot;&lt;br /&gt;
 do&lt;br /&gt;
        changed=0&lt;br /&gt;
        toblock=()&lt;br /&gt;
        toallow=()&lt;br /&gt;
 &lt;br /&gt;
        parsezone $zone&lt;br /&gt;
        #echo $fname&lt;br /&gt;
        findoffs $fname&lt;br /&gt;
        #echo &amp;quot;change: &amp;quot; $changed&lt;br /&gt;
        #echo &amp;quot;good: &amp;quot; ${iparr[@]}&lt;br /&gt;
        #echo &amp;quot;bad: &amp;quot; ${ipbad[@]}&lt;br /&gt;
        if [[ $changed &amp;gt; 0 ]]; then&lt;br /&gt;
                if [ ! -d $backupdir/$curdate ]; then&lt;br /&gt;
                        mkdir $backupdir/$curdate -p&lt;br /&gt;
                fi&lt;br /&gt;
                echo &amp;quot;zone: &amp;quot; $zone &amp;quot;changed!!!&amp;quot;&lt;br /&gt;
                cp $fname $backupdir/$curdate/&lt;br /&gt;
                updatezone $zone $fname&lt;br /&gt;
        fi&lt;br /&gt;
 done&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Get all CFS users ==&lt;br /&gt;
&lt;br /&gt;
After login, save the cookie.&lt;br /&gt;
&lt;br /&gt;
Get all organizations:&lt;br /&gt;
 curl --cookie &amp;quot;cwmid=001; PHPSESSID=xxx&amp;quot; &amp;quot;https://null.cloudwm.com/svc/fileserver/groups?size=500&amp;amp;sortBy=name&amp;amp;sortAsc=true&amp;amp;filter=&amp;amp;from=&amp;quot;|jq -r &amp;#039;(map(values))[]&amp;#039;|grep &amp;quot;\&amp;quot;id&amp;quot;|cut -d&amp;quot;\&amp;quot;&amp;quot; -f4&lt;br /&gt;
&lt;br /&gt;
Get users of an organization:&lt;br /&gt;
 curl --cookie &amp;quot;cwmid=001; PHPSESSID=xxx&amp;quot; &amp;quot;https://null.cloudwm.com/svc/fileserver/group/$i&amp;quot;|jq -r &amp;#039;(map(values))[]&amp;#039;|grep &amp;quot;email&amp;quot;|cut -d&amp;quot;\&amp;quot;&amp;quot; -f4&lt;br /&gt;
&lt;br /&gt;
Get full list of all users:&lt;br /&gt;
 IFS=$&amp;#039;\n&amp;#039; ; for i in `curl --cookie &amp;quot;cwmid=001; PHPSESSID=xxx&amp;quot; &amp;quot;https://null.cloudwm.com/svc/fileserver/groups?size=500&amp;amp;sortBy=name&amp;amp;sortAsc=true&amp;amp;filter=&amp;amp;from=&amp;quot;|jq -r &amp;#039;(map(values))[]&amp;#039;|grep &amp;quot;\&amp;quot;id&amp;quot;|cut -d&amp;quot;\&amp;quot;&amp;quot; -f4`; do z=$(echo $i|sed &amp;#039;s/ /%20/g&amp;#039;) ; curl --cookie &amp;quot;cwmid=001; PHPSESSID=xxx&amp;quot; &amp;quot;https://null.cloudwm.com/svc/fileserver/group/$z&amp;quot;|jq -r &amp;#039;(map(values))[]&amp;#039;|grep &amp;quot;email&amp;quot;|cut -d&amp;quot;\&amp;quot;&amp;quot; -f4;done&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Clone servers ==&lt;br /&gt;
&lt;br /&gt;
 #!/bin/bash&lt;br /&gt;
 ###########################################    README    ###########################################################################&lt;br /&gt;
 ## make sure to use followin jq binary: https://github.com/stedolan/jq/releases/download/jq-1.5/jq-linux64 &lt;br /&gt;
 ## before running the script change, parameters in settings and copy ssh key to all haproxies&lt;br /&gt;
 ## made for web servers only , modify the function if you wish to use for different balancing modes&lt;br /&gt;
 #####################################################################################################################################&lt;br /&gt;
 &lt;br /&gt;
 while [ -z $numbers ];do&lt;br /&gt;
 &lt;br /&gt;
 read -p  &amp;quot;How many servers you want to clone?: &amp;quot; numbers&lt;br /&gt;
 &lt;br /&gt;
 done&lt;br /&gt;
 &lt;br /&gt;
 cloneServer () {&lt;br /&gt;
 &lt;br /&gt;
     ################ Settings ################&lt;br /&gt;
                 src=&amp;quot;xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx&amp;quot;&lt;br /&gt;
                 clientId=&amp;quot;xxxxxxxxxxxxxxxxxxxxxxxxxxxxxx&amp;quot;&lt;br /&gt;
                 secret=&amp;quot;xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx&amp;quot;&lt;br /&gt;
                 haproxy1=&amp;quot;xxx.xxx.xx.xx&amp;quot;&lt;br /&gt;
                 haproxy2=&amp;quot;xxx.xxx.xxx.xx&amp;quot;&lt;br /&gt;
                 prefix=&amp;quot;web&amp;quot;&lt;br /&gt;
                 domainsuff=&amp;quot;example.com&amp;quot;&lt;br /&gt;
                 dc=&amp;quot;IL&amp;quot;&lt;br /&gt;
                 cpu=&amp;quot;1D&amp;quot;&lt;br /&gt;
                 billing=&amp;quot;hourly&amp;quot;&lt;br /&gt;
                 power=&amp;quot;on&amp;quot;&lt;br /&gt;
                 port=&amp;quot;80&amp;quot; &lt;br /&gt;
     ############### END SETTINGS #############&lt;br /&gt;
 &lt;br /&gt;
                 NC=&amp;#039;\033[0m&amp;#039;&lt;br /&gt;
                 GREEN=&amp;#039;\033[0;32m&amp;#039;&lt;br /&gt;
                 YELLOW=&amp;#039;\033[0;33m&amp;#039;&lt;br /&gt;
                 &lt;br /&gt;
                 last=$(curl -s -H &amp;quot;AuthClientId: ${clientId}&amp;quot; -H &amp;quot;AuthSecret: ${secret}&amp;quot; &amp;quot;https://api.cloudwm.com/service/servers&amp;quot; | jq &amp;#039;.[] | select( .datacenter | contains(&amp;quot;&amp;#039;&amp;quot;${dc}&amp;quot;&amp;#039;&amp;quot;))&amp;#039; | jq &amp;#039;. | select( .name | startswith(&amp;quot;&amp;#039;&amp;quot;${prefix}&amp;quot;&amp;#039;&amp;quot;)) | .name&amp;#039; | cut -d&amp;#039;_&amp;#039; -f1 | grep -Eo &amp;#039;[0-9]{1,9}&amp;#039; | tail -1)&lt;br /&gt;
 &lt;br /&gt;
                 name=&amp;quot;${prefix}$((last+1)).${domainsuff}&amp;quot;&lt;br /&gt;
 &lt;br /&gt;
                 lastname=&amp;quot;${prefix}${last}.${domainsuff}&amp;quot;&lt;br /&gt;
 &lt;br /&gt;
 &lt;br /&gt;
                 curl -H &amp;quot;AuthClientId: ${clientId}&amp;quot; -H &amp;quot;AuthSecret: ${secret}&amp;quot; -X POST -d &amp;quot;source=${src}&amp;amp;name=${name}&amp;amp;cpu=${cpu}&amp;amp;billing=${billing}&amp;amp;power=${power}&amp;quot; &amp;quot;https://console.clubvps.com/service/server&amp;quot;&lt;br /&gt;
 &lt;br /&gt;
                 echo &amp;quot;&amp;quot;&lt;br /&gt;
 &lt;br /&gt;
                 while [ -z &amp;quot;$newserverid&amp;quot; ] ;do&lt;br /&gt;
 &lt;br /&gt;
                 newserverid=$(curl -s -H &amp;quot;AuthClientId: ${clientId}&amp;quot; -H &amp;quot;AuthSecret: ${secret}&amp;quot; &amp;quot;https://api.cloudwm.com/service/servers&amp;quot; | jq &amp;#039;.[] | select( .datacenter | contains(&amp;quot;&amp;#039;&amp;quot;${dc}&amp;quot;&amp;#039;&amp;quot;))&amp;#039; | jq &amp;#039;. | select( .name | startswith(&amp;quot;&amp;#039;&amp;quot;${name}&amp;quot;&amp;#039;&amp;quot;)) | .id&amp;#039; | cut -d&amp;#039;&amp;quot;&amp;#039; -f2 | tail -1)&lt;br /&gt;
 &lt;br /&gt;
                 sleep 5&lt;br /&gt;
 &lt;br /&gt;
                 echo -e ${YELLOW}Waiting for new server named: ${GREEN}${name}${NC} ${YELLOW}to clone${NC}&lt;br /&gt;
 &lt;br /&gt;
                 done&lt;br /&gt;
 &lt;br /&gt;
                 newserverip=`curl -s -H &amp;quot;AuthClientId: ${clientId}&amp;quot; -H &amp;quot;AuthSecret: ${secret}&amp;quot; &amp;quot;https://api.cloudwm.com/service/server/${newserverid}&amp;quot; | jq &amp;#039;.networks[].ips[]&amp;#039; | cut -d&amp;#039;&amp;quot;&amp;#039; -f2`&lt;br /&gt;
 &lt;br /&gt;
                 echo -e created new server named: ${GREEN}${name}${NC} with the ip: ${GREEN}${newserverip}${NC}&lt;br /&gt;
 &lt;br /&gt;
                 echo -e ${GREEN}updating haproxies${NC}&lt;br /&gt;
 &lt;br /&gt;
 &lt;br /&gt;
                 ssh root@${haproxy1} &amp;#039;export &amp;#039;&amp;quot;lastname=$lastname&amp;quot;&amp;#039; &amp;amp;&amp;amp; lastad=$(cat /etc/haproxy/haproxy.cfg | grep -e $lastname) &amp;amp;&amp;amp; echo sed -i \&amp;quot;/${lastad}/a server &amp;#039;&amp;quot;${name}&amp;quot;&amp;#039; &amp;#039;&amp;quot;${newserverip}&amp;quot;&amp;#039;:&amp;#039;&amp;quot;${port}&amp;quot;&amp;#039; check\&amp;quot; /etc/haproxy/haproxy.cfg &amp;gt; cmd.txt | cat cmd.txt|bash &amp;amp;&amp;amp; service haproxy reload&amp;#039;&lt;br /&gt;
                 ssh root@${haproxy1} &amp;#039;export &amp;#039;&amp;quot;lastname=$lastname&amp;quot;&amp;#039; &amp;amp;&amp;amp; lastad=$(cat /etc/haproxy/haproxy.cfg | grep -e $lastname) &amp;amp;&amp;amp; echo sed -i \&amp;quot;/${lastad}/a server &amp;#039;&amp;quot;${name}&amp;quot;&amp;#039; &amp;#039;&amp;quot;${newserverip}&amp;quot;&amp;#039;:&amp;#039;&amp;quot;${port}&amp;quot;&amp;#039; check\&amp;quot; /etc/haproxy/haproxy.cfg &amp;gt; cmd.txt | cat cmd.txt|bash &amp;amp;&amp;amp; service haproxy reload&amp;#039;&lt;br /&gt;
                 &lt;br /&gt;
                 sleep 5&lt;br /&gt;
                 echo -e ${GREEN}done${NC}&lt;br /&gt;
 &lt;br /&gt;
 &lt;br /&gt;
 &lt;br /&gt;
 }&lt;br /&gt;
 &lt;br /&gt;
 while [ $numbers -gt 0 ];&lt;br /&gt;
 do&lt;br /&gt;
 &lt;br /&gt;
         cloneServer;&lt;br /&gt;
 &lt;br /&gt;
 numbers=$(($numbers-1))&lt;br /&gt;
 &lt;br /&gt;
 done&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Fix Centos 5 Repos ==&lt;br /&gt;
&lt;br /&gt;
 rel=$(lsb_release -d | egrep -o &amp;#039;[0-9]\.[0-9]{1,2}&amp;#039;)&lt;br /&gt;
 file=&amp;quot;/etc/yum.repos.d/CentOS-Base.repo&amp;quot;&lt;br /&gt;
 sed -i.bak &amp;#039;s/mirror.centos.org\/centos\/$releasever/vault.centos.org\/&amp;#039;&amp;quot;$rel&amp;quot;&amp;#039;/g&amp;#039; $file&lt;br /&gt;
 sed -i &amp;#039;s/\#baseurl/baseurl/g&amp;#039; $file&lt;br /&gt;
 sed -i &amp;#039;s/mirror=*/\#mirrorlist=*/g&amp;#039; $file&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Long version:&lt;br /&gt;
&lt;br /&gt;
 echo y | cp /etc/yum.repos.d/CentOS-Base.repo /etc/yum.repos.d/CentOS-Base.repo.bak&lt;br /&gt;
 rel=$(lsb_release -d | egrep -o &amp;#039;[0-9]\.[0-9]{1,2}&amp;#039;)&lt;br /&gt;
 sed -i &amp;#039;s/\#baseurl=http:\/\/mirror.centos.org\/centos\/$releasever\/os\/$basearch\//baseurl=http:\/\/vault.centos.org\/&amp;#039;&amp;quot;$rel&amp;quot;&amp;#039;\/os\/$basearch/g&amp;#039; /etc/yum.repos.d/CentOS-Base.repo&lt;br /&gt;
 sed -i &amp;#039;s/\#baseurl=http:\/\/mirror.centos.org\/centos\/$releasever\/updates\/$basearch\//baseurl=http:\/\/vault.centos.org\/&amp;#039;&amp;quot;$rel&amp;quot;&amp;#039;\/updates\/$basearch/g&amp;#039; /etc/yum.repos.d/CentOS-Base.repo&lt;br /&gt;
 sed -i &amp;#039;s/\#baseurl=http:\/\/mirror.centos.org\/centos\/$releasever\/extras\/$basearch\//baseurl=http:\/\/vault.centos.org\/&amp;#039;&amp;quot;$rel&amp;quot;&amp;#039;\/extras\/$basearch/g&amp;#039; /etc/yum.repos.d/CentOS-Base.repo&lt;br /&gt;
 sed -i &amp;#039;s/\#baseurl=http:\/\/mirror.centos.org\/centos\/$releasever\/centosplus\/$basearch\//baseurl=http:\/\/vault.centos.org\/&amp;#039;&amp;quot;$rel&amp;quot;&amp;#039;\/centosplus\/$basearch/g&amp;#039; /etc/yum.repos.d/CentOS-Base.repo&lt;br /&gt;
 sed -i &amp;#039;s/\#baseurl=http:\/\/mirror.centos.org\/centos\/$releasever\/contrib\/$basearch\//baseurl=http:\/\/vault.centos.org\/&amp;#039;&amp;quot;$rel&amp;quot;&amp;#039;\/contrib\/$basearch/g&amp;#039; /etc/yum.repos.d/CentOS-Base.repo&lt;br /&gt;
 sed -i &amp;#039;s/\mirror=*/\#mirrorlist=*/g&amp;#039; /etc/yum.repos.d/CentOS-Base.repo&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Backup cpanel backups to Gdrive ==&lt;br /&gt;
&lt;br /&gt;
 #!/bin/bash&lt;br /&gt;
 lastb=`ls -1tr /backup/|grep &amp;quot;\-&amp;quot;|tail -1`&lt;br /&gt;
 tarb=&amp;quot;/root/backup-${lastb}.tar&amp;quot;&lt;br /&gt;
 dirb=&amp;quot;/backup/${lastb}/&amp;quot;&lt;br /&gt;
 &lt;br /&gt;
 bname=&amp;#039;daily&amp;#039;&lt;br /&gt;
 rtn=6&lt;br /&gt;
 &lt;br /&gt;
 if [ `date &amp;#039;+%w&amp;#039;` == 0 ]; then&lt;br /&gt;
         bname=&amp;#039;weekly&amp;#039;&lt;br /&gt;
         rtn=2&lt;br /&gt;
 fi&lt;br /&gt;
 &lt;br /&gt;
 if [ `date &amp;#039;+%d&amp;#039;` == 01 ]; then&lt;br /&gt;
         bname=&amp;#039;monthly&amp;#039;&lt;br /&gt;
         rtn=2&lt;br /&gt;
 fi&lt;br /&gt;
 &lt;br /&gt;
 &lt;br /&gt;
 destb=&amp;quot;/gdrive/backup/${bname}/&amp;quot;&lt;br /&gt;
 #echo $destb&lt;br /&gt;
 &lt;br /&gt;
 #echo $lastb&lt;br /&gt;
 #ls -l /backup/|grep $lastb&lt;br /&gt;
 tar -cf $tarb $dirb&lt;br /&gt;
 gzip $tarb&lt;br /&gt;
 #rsync -avz --progress backup-2019-08-01.tar.gz /gdrive/backup/&lt;br /&gt;
 #rsync -avz ${tarb}.gz $destb&lt;br /&gt;
 rsync -avz --progress ${tarb}.gz $destb&lt;br /&gt;
 &lt;br /&gt;
 rm -f ${tarb}.gz&lt;br /&gt;
 #date &amp;gt;&amp;gt; /root/backup.log&lt;br /&gt;
 #find /$destb -type f -mtime 4 &amp;gt;&amp;gt; /root/backup.log&lt;br /&gt;
 find $destb -type f|head -n -${rtn}|xargs rm -f&lt;br /&gt;
 sleep 3&lt;br /&gt;
 /usr/bin/rclone cleanup gdrive:&lt;/div&gt;</summary>
		<author><name>Meadmin</name></author>	</entry>

	<entry>
		<id>https://mywiki.romanost.co.il/index.php?title=Linux&amp;diff=75</id>
		<title>Linux</title>
		<link rel="alternate" type="text/html" href="https://mywiki.romanost.co.il/index.php?title=Linux&amp;diff=75"/>
				<updated>2019-07-31T06:53:35Z</updated>
		
		<summary type="html">&lt;p&gt;Meadmin: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&lt;br /&gt;
== Wordpress login attack check ==&lt;br /&gt;
&lt;br /&gt;
 &amp;#039;&amp;#039;&amp;#039;Crontab :&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
 0 */6 * * *  sh /root/wplogin.sh&lt;br /&gt;
 &lt;br /&gt;
 &amp;#039;&amp;#039;&amp;#039;Script :&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
 #!/bin/bash&lt;br /&gt;
 &lt;br /&gt;
 ###start editing&lt;br /&gt;
 thold=&amp;quot;100&amp;quot;&lt;br /&gt;
 btime=&amp;quot;359m&amp;quot;&lt;br /&gt;
 ###stop editing&lt;br /&gt;
 &lt;br /&gt;
 egrep &amp;#039;wp-login.php&amp;#039; /usr/local/apache/domlogs/* | grep -v ftp_log | awk -F : &amp;#039;{print $2}&amp;#039; | awk &amp;#039;{print $1}&amp;#039; | sort | uniq -c | sort -n | awk -v limit=&amp;quot;$thold&amp;quot; &amp;#039;$1 &amp;gt; limit{print $2}&amp;#039; &amp;gt; $$_ip_$$&lt;br /&gt;
 &lt;br /&gt;
 while IFS= read -r line&lt;br /&gt;
         do&lt;br /&gt;
                 /usr/sbin/csf -td &amp;quot;$line&amp;quot;  &amp;quot;$btime&amp;quot; &amp;quot;banned for wordpress attack&amp;quot;&lt;br /&gt;
         done &amp;lt; $$_ip_$$&lt;br /&gt;
 rm -f $$_ip_$$&lt;br /&gt;
&lt;br /&gt;
== Prevent OOM killer ==&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Edit file /etc/sysctl.conf&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
 &lt;br /&gt;
 vm.overcommit_memory = 2 &lt;br /&gt;
 vm.overcommit_ratio = 100&lt;br /&gt;
&lt;br /&gt;
In case of bad memory usage (php out of memory) use this settings:&lt;br /&gt;
&lt;br /&gt;
 vm.overcommit_memory = 0&lt;br /&gt;
 vm.overcommit_ratio = 80&lt;br /&gt;
&lt;br /&gt;
== Who is using SWAP ==&lt;br /&gt;
 grep VmSwap /proc/*/status 2&amp;gt;/dev/null | sort -nk2 | tail -n5&lt;br /&gt;
&lt;br /&gt;
Print with the process command:&lt;br /&gt;
 grep VmSwap /proc/*/status 2&amp;gt;/dev/null | sort -nk2 | tail -n5|awk -F&amp;#039;/&amp;#039; &amp;#039;{cmd=&amp;quot;cat /proc/&amp;quot; $3 &amp;quot;/cmdline&amp;quot;; cmd|getline var; close (cmd); printf $0 &amp;quot;\t&amp;quot;; print var}&amp;#039;  &lt;br /&gt;
&lt;br /&gt;
== Plesk on CentOS 12 bind fix ==&lt;br /&gt;
&lt;br /&gt;
The problem was nginx was attempting to bind to port 443 before the IP was initialized.&lt;br /&gt;
&lt;br /&gt;
To fix edit the /etx/sysctl.conf file and add &lt;br /&gt;
 net.ipv4.ip_nonlocal_bind = 1&lt;br /&gt;
&lt;br /&gt;
== WHM replica ==&lt;br /&gt;
&lt;br /&gt;
 rsync -avz 192.168.1.122:/home/ /home/ --exclude=&amp;quot;virtfs&amp;quot; --exclude=&amp;quot;\.cp*&amp;quot; --exclude=&amp;quot;cpeasyapache&amp;quot; &lt;br /&gt;
 rsync -avz 192.168.1.122:/usr/local/apache/conf/ /usr/local/apache/conf/&lt;br /&gt;
 rsync -avz 192.168.1.122:/var/named/ /var/named/&lt;br /&gt;
 rsync -avz 192.168.1.122:/usr/local/cpanel/ /usr/local/cpanel/&lt;br /&gt;
 rsync -avz 192.168.1.122:/var/cpanel/ /var/cpanel&lt;br /&gt;
&lt;br /&gt;
 chkconfig cpanel off&lt;br /&gt;
 chkconfig exim off&lt;br /&gt;
 chkconfig dovecot off&lt;br /&gt;
 chkconfig pure-ftpd off&lt;br /&gt;
 chkconfig named off&lt;br /&gt;
 chkconfig mysql off&lt;br /&gt;
 chkconfig csf off&lt;br /&gt;
 chkconfig iptables off&lt;br /&gt;
&lt;br /&gt;
 hostname: /etc/sysconfig/network&lt;br /&gt;
&lt;br /&gt;
 change shared ip - You can change it in /etc/wwwacct.conf infront of ADDR parameter.&lt;br /&gt;
 change ip - Usage: /usr/local/cpanel/bin/setsiteip [-u user | domain] ip   (/etc/trueuserowners)&lt;br /&gt;
 rebuild httpd conf&lt;br /&gt;
 restart apache&lt;br /&gt;
&lt;br /&gt;
== Apache memory usage ==&lt;br /&gt;
&lt;br /&gt;
 ps -ylC httpd | awk &amp;#039;{x += $8;y += 1} END {print &amp;quot;Apache Memory Usage (MB): &amp;quot;x/1024; print &amp;quot;Average Proccess Size (MB): &amp;quot;x/((y-1)*1024)}&amp;#039;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Wordpress pingback ==&lt;br /&gt;
&lt;br /&gt;
Nginx:&lt;br /&gt;
&lt;br /&gt;
 # WordPress Pingback Request Denial&lt;br /&gt;
 if ($http_user_agent ~* &amp;quot;WordPress&amp;quot;) {&lt;br /&gt;
   return 403;&lt;br /&gt;
 }&lt;br /&gt;
&lt;br /&gt;
Apache:&lt;br /&gt;
&lt;br /&gt;
 BrowserMatchNoCase WordPress wordpress_ping&lt;br /&gt;
 BrowserMatchNoCase Wordpress wordpress_ping&lt;br /&gt;
 Order Deny,Allow&lt;br /&gt;
 Deny from env=wordpress_ping&lt;br /&gt;
&lt;br /&gt;
== Find big files and folders ==&lt;br /&gt;
&lt;br /&gt;
 find / -mount -type f -print0 2&amp;gt;/dev/null | xargs -0 du 2&amp;gt;/dev/null | grep -v &amp;quot;virtfs&amp;quot; | sort -n | tail -40 | cut -f2 | xargs -I{} du -sh 2&amp;gt;/dev/null {} | uniq; printf &amp;#039;+%.0s&amp;#039; {1..100}; echo; \&lt;br /&gt;
 find / -mount -type d -print0 2&amp;gt;/dev/null | xargs -0 du 2&amp;gt;/dev/null | grep -v &amp;quot;virtfs&amp;quot; | sort -n | tail -40 | cut -f2 | xargs -I{} du -sh 2&amp;gt;/dev/null {} | uniq; printf &amp;#039;+%.0s&amp;#039; {1..100}; echo; \&lt;br /&gt;
 du -sh /var/cpanel/user_notifications &amp;amp;&amp;amp; du -sh /backup/cpbackup/*/dirs/_var_cpanel/user_notifications&lt;br /&gt;
&lt;br /&gt;
== Rebuild Sophos when disk full ==&lt;br /&gt;
&lt;br /&gt;
 /etc/init.d/postgresql92 rebuild&lt;br /&gt;
&lt;br /&gt;
On older versions:&lt;br /&gt;
 /var/mdw/scripts/smtp stop&lt;br /&gt;
 dropdb -U postgres smtp&lt;br /&gt;
 createdb -U postgres smtp&lt;br /&gt;
 /var/mdw/scripts/smtp start&lt;br /&gt;
&lt;br /&gt;
== Clear allowed networks on Sophos ==&lt;br /&gt;
&lt;br /&gt;
Login to the Sophos&lt;br /&gt;
 Type ‘cc’&lt;br /&gt;
 In cc, you’ll be in MAIN, if not, type ‘MAIN’&lt;br /&gt;
 Type ‘webadmin&amp;#039;&lt;br /&gt;
 Type ‘allowed_networks@&amp;#039;&lt;br /&gt;
 =[&amp;#039;REF_NetworkAny&amp;#039;]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Most accessed sites in the last minute ==&lt;br /&gt;
&lt;br /&gt;
 cat &amp;lt;&amp;lt;&amp;#039;SCRIPT&amp;#039; &amp;gt;&amp;gt;/root/sitesLoad.sh&lt;br /&gt;
 &lt;br /&gt;
 #!/bin/bash&lt;br /&gt;
 &amp;lt;nowiki&amp;gt;if [[ `netstat -ntalp | grep :80 | awk &amp;#039;$4 ~ /:80/ {print $0;exit}&amp;#039; | grep -q httpd; echo $?` -ne 0 ]]; then echo &amp;quot;Main web server is not Apache. Exiting...&amp;quot;; exit 1; fi&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
 &lt;br /&gt;
 log=/tmp/hostPop&lt;br /&gt;
 i=0&lt;br /&gt;
 find /usr/local/apache/domlogs/ -type f -mmin -1 ! -group root -exec ls -l {} \+ | awk &amp;#039;{print $4, $9}&amp;#039; | column -t&amp;gt;$log&lt;br /&gt;
 &lt;br /&gt;
 while read line; do&lt;br /&gt;
 ((++i))&lt;br /&gt;
        arr[$i]=$i&lt;br /&gt;
        arr[$i*1000]=$(printf &amp;quot;$line&amp;quot; | awk &amp;#039;{print $1}&amp;#039;)&lt;br /&gt;
        arr[$i*1001]=$(printf &amp;quot;$line&amp;quot; | awk &amp;#039;{print $2}&amp;#039;)&lt;br /&gt;
        arr[$i*1002]=$(wc -l `echo $line | awk &amp;#039;{print $NF}&amp;#039;` | cut -d&amp;#039; &amp;#039; -f 1)&lt;br /&gt;
 done &amp;lt; &amp;lt;(cat $log)&lt;br /&gt;
 &lt;br /&gt;
 echo &amp;quot;Analyzing apache logs in realtime for 1 minute...&amp;quot;; sleep 60&lt;br /&gt;
 &lt;br /&gt;
 for (( var=1 ; var&amp;lt;=$i ; var++ ))&lt;br /&gt;
 do&lt;br /&gt;
        printf &amp;quot;${arr[$var*1000]} ${arr[$var*1001]} &amp;quot;&lt;br /&gt;
        echo $((`wc -l $(echo ${arr[$var*1001]}) | cut -d&amp;#039; &amp;#039; -f 1` - ${arr[$var*1002]}));&lt;br /&gt;
 done | sed -e &amp;#039;s/\/usr\/local\/apache\/domlogs\///g&amp;#039; | sort -nrk 3 | column -t&lt;br /&gt;
 &lt;br /&gt;
 SCRIPT&lt;br /&gt;
 chmod 700 /root/sitesLoad.sh &amp;amp;&amp;amp; /root/sitesLoad.sh&lt;br /&gt;
&lt;br /&gt;
== PHP.INI upload big files ==&lt;br /&gt;
&lt;br /&gt;
 ini_set(&amp;#039;upload_max_filesize&amp;#039;, &amp;#039;10M&amp;#039;);&lt;br /&gt;
 ini_set(&amp;#039;post_max_size&amp;#039;, &amp;#039;10M&amp;#039;);&lt;br /&gt;
 ini_set(&amp;#039;max_input_time&amp;#039;, 300);&lt;br /&gt;
 ini_set(&amp;#039;max_execution_time&amp;#039;, 300);&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Change permissions (chmod) to folders and files ==&lt;br /&gt;
&lt;br /&gt;
 find . -type d -exec chmod 755 {} +                  &lt;br /&gt;
 find . -type f -exec chmod 644 {} +                 &lt;br /&gt;
&lt;br /&gt;
== Disable IPv6 ==&lt;br /&gt;
&lt;br /&gt;
For current session:&lt;br /&gt;
 echo 1 &amp;gt; /proc/sys/net/ipv6/conf/&amp;lt;interface-name&amp;gt;/disable_ipv6&lt;br /&gt;
 echo 1 &amp;gt; /proc/sys/net/ipv6/conf/eth0/disable_ipv6&lt;br /&gt;
&lt;br /&gt;
Permanent:&lt;br /&gt;
 vi /etc/sysctl.conf&lt;br /&gt;
 net.ipv6.conf.all.disable_ipv6 = 1&lt;br /&gt;
 sudo sysctl -p /etc/sysctl.conf&lt;br /&gt;
&lt;br /&gt;
== Virtual box boot from USB ==&lt;br /&gt;
 VBoxManage internalcommands createrawvmdk -filename C:\usb.vmdk -rawdisk \\.\PhysicalDrive#&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== CSF GUI on ISPCONFIG 3 ==&lt;br /&gt;
Install old CSF (before 8.13)&lt;br /&gt;
&lt;br /&gt;
Copy the ISPCONFIG folder to /etc/csf/ and enable CSF in ISPCONFIG&lt;br /&gt;
&lt;br /&gt;
Backup csfui* files&lt;br /&gt;
&lt;br /&gt;
Upgrade CSF&lt;br /&gt;
&lt;br /&gt;
Copy backuped csfui* files back&lt;br /&gt;
&lt;br /&gt;
Run the following commands:&lt;br /&gt;
 sed -i &amp;#039;s/checkip/ConfigServer::CheckIP::checkip/g&amp;#039; /usr/local/csf/bin/csfui.pl&lt;br /&gt;
 sed -i &amp;#039;s/sanity(/ConfigServer::Sanity::sanity(/g&amp;#039; /usr/local/csf/bin/csfui.pl&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Max connections on Linux ==&lt;br /&gt;
&lt;br /&gt;
Add to /etc/sysctl.conf:&lt;br /&gt;
&lt;br /&gt;
 fs.file-max = 70000&lt;br /&gt;
 net.ipv4.tcp_tw_recycle=0&lt;br /&gt;
 net.ipv4.tcp_fin_timeout = 10&lt;br /&gt;
 net.ipv4.ip_local_port_range = 15000 61000&lt;br /&gt;
 net.core.somaxconn = 1024&lt;br /&gt;
 net.core.netdev_max_backlog = 2000&lt;br /&gt;
&lt;br /&gt;
== CSF configuration ==&lt;br /&gt;
&lt;br /&gt;
 ## Automated configuration:&lt;br /&gt;
 &lt;br /&gt;
 sed -i &amp;#039;s/TESTING = &amp;quot;1&amp;quot;/TESTING = &amp;quot;0&amp;quot;/&amp;#039; /etc/csf/csf.conf&lt;br /&gt;
 sed -i &amp;#039;s/RESTRICT_SYSLOG = &amp;quot;0&amp;quot;/RESTRICT_SYSLOG = &amp;quot;3&amp;quot;/&amp;#039; /etc/csf/csf.conf&lt;br /&gt;
 sed -i &amp;#039;s/IPV6 = &amp;quot;1&amp;quot;/IPV6 = &amp;quot;0&amp;quot;/&amp;#039; /etc/csf/csf.conf&lt;br /&gt;
 sed -i &amp;#039;s/IGNORE_ALLOW = &amp;quot;0&amp;quot;/IGNORE_ALLOW = &amp;quot;1&amp;quot;/&amp;#039; /etc/csf/csf.conf&lt;br /&gt;
 sed -i &amp;#039;s/CONNLIMIT = &amp;quot;&amp;quot;/CONNLIMIT = &amp;quot;22;5,80;70&amp;quot;/&amp;#039; /etc/csf/csf.conf&lt;br /&gt;
 sed -i &amp;#039;s/PORTFLOOD = &amp;quot;&amp;quot;/PORTFLOOD = &amp;quot;22;tcp;5;300,80;tcp;100;1,443;tcp;100;5&amp;quot;/&amp;#039; /etc/csf/csf.conf&lt;br /&gt;
 sed -i &amp;#039;s/CT_LIMIT = &amp;quot;0&amp;quot;/CT_LIMIT = &amp;quot;300&amp;quot;/&amp;#039; /etc/csf/csf.conf&lt;br /&gt;
  &lt;br /&gt;
 ## Disable LFD alerts: Only if you want to disable them!!&lt;br /&gt;
 &lt;br /&gt;
 sed -i &amp;#039;s/LF_EMAIL_ALERT = &amp;quot;1&amp;quot;/LF_EMAIL_ALERT = &amp;quot;0&amp;quot;/&amp;#039; /etc/csf/csf.conf&lt;br /&gt;
 sed -i &amp;#039;s/LF_SSH_EMAIL_ALERT = &amp;quot;1&amp;quot;/LF_SSH_EMAIL_ALERT = &amp;quot;0&amp;quot;/&amp;#039; /etc/csf/csf.conf&lt;br /&gt;
 sed -i &amp;#039;s/LF_SU_EMAIL_ALERT = &amp;quot;1&amp;quot;/LF_SU_EMAIL_ALERT = &amp;quot;0&amp;quot;/&amp;#039; /etc/csf/csf.conf&lt;br /&gt;
 sed -i &amp;#039;s/LF_WEBMIN_EMAIL_ALERT = &amp;quot;1&amp;quot;/LF_WEBMIN_EMAIL_ALERT = &amp;quot;0&amp;quot;/&amp;#039; /etc/csf/csf.conf&lt;br /&gt;
 sed -i &amp;#039;s/LF_CONSOLE_EMAIL_ALERT = &amp;quot;1&amp;quot;/LF_CONSOLE_EMAIL_ALERT = &amp;quot;0&amp;quot;/&amp;#039; /etc/csf/csf.conf&lt;br /&gt;
 sed -i &amp;#039;s/LT_EMAIL_ALERT = &amp;quot;1&amp;quot;/LT_EMAIL_ALERT = &amp;quot;0&amp;quot;/&amp;#039; /etc/csf/csf.conf&lt;br /&gt;
 sed -i &amp;#039;s/CT_EMAIL_ALERT = &amp;quot;1&amp;quot;/CT_EMAIL_ALERT = &amp;quot;0&amp;quot;/&amp;#039; /etc/csf/csf.conf&lt;br /&gt;
 sed -i &amp;#039;s/PS_EMAIL_ALERT = &amp;quot;1&amp;quot;/PS_EMAIL_ALERT = &amp;quot;0&amp;quot;/&amp;#039; /etc/csf/csf.conf&lt;br /&gt;
 &lt;br /&gt;
 ## Disable PT alerts: Only if you want to disable them!!&lt;br /&gt;
 &lt;br /&gt;
 sed -i &amp;#039;s/PT_USERPROC = &amp;quot;10&amp;quot;/PT_USERPROC = &amp;quot;0&amp;quot;/&amp;#039; /etc/csf/csf.conf&lt;br /&gt;
 sed -i &amp;#039;s/PT_USERMEM = &amp;quot;256&amp;quot;/PT_USERMEM = &amp;quot;0&amp;quot;/&amp;#039; /etc/csf/csf.conf&lt;br /&gt;
 sed -i &amp;#039;s/PT_USERTIME = &amp;quot;1800&amp;quot;/PT_USERTIME = &amp;quot;0&amp;quot;/&amp;#039; /etc/csf/csf.conf&lt;br /&gt;
 sed -i &amp;#039;s/PT_USERKILL_ALERT = &amp;quot;1&amp;quot;/PT_USERKILL_ALERT = &amp;quot;0&amp;quot;/&amp;#039; /etc/csf/csf.conf&lt;br /&gt;
 sed -i &amp;#039;s/PT_LOAD = &amp;quot;30&amp;quot;/PT_LOAD = &amp;quot;0&amp;quot;/&amp;#039; /etc/csf/csf.conf&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Rescan drives ==&lt;br /&gt;
&lt;br /&gt;
 echo &amp;quot;- - -&amp;quot; &amp;gt; /sys/class/scsi_host/host0/scan&lt;br /&gt;
&lt;br /&gt;
 echo 1 &amp;gt; /sys/class/scsi_device/2\:0\:0\:0/device/rescan&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Find PTR owner - reversal ==&lt;br /&gt;
&lt;br /&gt;
 dig 0.168.192.in-addr.arpa. NS&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Fix locales in Ubuntu ==&lt;br /&gt;
 locale-gen en_US.UTF-8&lt;br /&gt;
 dpkg-reconfigure locales&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Change permissions to all files and folders ==&lt;br /&gt;
 chown `stat -c %U .`.`stat -c %U .` * -R&lt;br /&gt;
&lt;br /&gt;
== Open last edited file ==&lt;br /&gt;
 less `ls -dx1tr /usr/local/cpanel/logs/cpbackup/*|tail -1`&lt;br /&gt;
&lt;br /&gt;
== Clear cache and swap ==&lt;br /&gt;
 echo 3 &amp;gt; /proc/sys/vm/drop_caches &amp;amp;&amp;amp; swapoff -a &amp;amp;&amp;amp; swapon -a&lt;br /&gt;
&lt;br /&gt;
== Disable core files in CPanel accounts ==&lt;br /&gt;
&lt;br /&gt;
Add this in /etc/sysctl.conf&lt;br /&gt;
 kernel.core_uses_pid = 0&lt;br /&gt;
 kernel.core_pattern = /dev/null&lt;br /&gt;
&lt;br /&gt;
And run:&lt;br /&gt;
 sysctl -p&lt;br /&gt;
&lt;br /&gt;
== Add HSTS support in CPANEL ==&lt;br /&gt;
 cp -p /var/cpanel/templates/apache2_4/ssl_vhost.default /var/cpanel/templates/apache2_4/ssl_vhost.local&lt;br /&gt;
 vi /var/cpanel/templates/apache2_4/ssl_vhost.local&lt;br /&gt;
&lt;br /&gt;
Edit:&lt;br /&gt;
 &amp;lt;VirtualHost[% FOREACH ipblock IN vhost.ips %] [% ipblock.ip %]:[% ipblock.port %][% END %]&amp;gt;&lt;br /&gt;
  # Enable HTTP Strict Transport Security&lt;br /&gt;
  Header always set Strict-Transport-Security &amp;quot;max-age=63072000; includeSubdomains;&amp;quot;&lt;br /&gt;
&lt;br /&gt;
 cp -p /var/cpanel/templates/apache2_4/main.default /var/cpanel/templates/apache2_4/main.local&lt;br /&gt;
 vi /var/cpanel/templates/apache2_4/main.local&lt;br /&gt;
&lt;br /&gt;
Edit:&lt;br /&gt;
 [% IF main.sslprotocol.item.sslprotocol.length %]SSLProtocol [% main.sslprotocol.item.sslprotocol %][% END %]&lt;br /&gt;
 SSLHonorCipherOrder on&lt;br /&gt;
&lt;br /&gt;
Run:&lt;br /&gt;
 /scripts/rebuildhttpdconf&lt;br /&gt;
 service httpd restart&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Install mod_pagespeed on WHM ==&lt;br /&gt;
&lt;br /&gt;
With EA3:&lt;br /&gt;
 /usr/local/cpanel/3rdparty/bin/git clone https://github.com/pagespeed/cpanel.git /tmp/pagespeed/&lt;br /&gt;
 cd /tmp/pagespeed/Easy&lt;br /&gt;
 tar -zcvf Speed.pm.tar.gz pagespeed&lt;br /&gt;
 mkdir -p /var/cpanel/easy/apache/custom_opt_mods/Cpanel/Easy&lt;br /&gt;
 mv Speed.pm Speed.pm.tar.gz -t /var/cpanel/easy/apache/custom_opt_mods/Cpanel/Easy/&lt;br /&gt;
 cd &amp;amp;&amp;amp; rm -rf /tmp/pagespeed&lt;br /&gt;
&lt;br /&gt;
With EA4:&lt;br /&gt;
&lt;br /&gt;
Create file /etc/rpm/macros.apache2 and add the following lines of code exactly as below&lt;br /&gt;
 %_httpd_mmn 20120211x8664&lt;br /&gt;
 %_httpd_apxs /usr/bin/apxs&lt;br /&gt;
 %_httpd_dir /etc/apache2&lt;br /&gt;
 %_httpd_bindir %{_httpd_dir}/bin&lt;br /&gt;
 %_httpd_modconfdir %{_httpd_dir}/conf.modules.d&lt;br /&gt;
 %_httpd_confdir %{_httpd_dir}/conf.d&lt;br /&gt;
 %_httpd_contentdir /usr/share/apache2&lt;br /&gt;
 %_httpd_moddir /usr/lib64/apache2/modules&lt;br /&gt;
&lt;br /&gt;
Next run the following commands in order, make sure you run each command on it’s own&lt;br /&gt;
 rm -rf /root/rpmbuild/RPMS/x86_64/&lt;br /&gt;
 wget https://github.com/pagespeed/cpanel/raw/master/EA4/ea-apache24-mod_pagespeed-latest-stable.src.rpm&lt;br /&gt;
 rpmbuild --rebuild ea-apache24-mod_pagespeed-latest-stable.src.rpm&lt;br /&gt;
 rpm -Uvh /root/rpmbuild/RPMS/x86_64/ea-apache24-mod_pagespeed*.rpm&lt;br /&gt;
 /etc/init.d/httpd restart&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Resize root partition without reboot ==&lt;br /&gt;
&lt;br /&gt;
Resize HD size in VC&lt;br /&gt;
Run: (replace the device if needed)&lt;br /&gt;
 echo 1 &amp;gt; /sys/class/scsi_device/2\:0\:0\:0/device/rescan&lt;br /&gt;
 run fdisk:&lt;br /&gt;
print the old partition and save the output&lt;br /&gt;
delete the root partition&lt;br /&gt;
create a new partition using the SAME start block and make sure that the end block is higher than previous one (enter, enter, enter…)&lt;br /&gt;
write changes (ignore error)&lt;br /&gt;
run:&lt;br /&gt;
 partx -u /dev/sda&lt;br /&gt;
 resize2fs -f /dev/sda3&lt;br /&gt;
Make sure everything is OK:&lt;br /&gt;
 df -h&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Delete files with a large file list - Argument list too long ==&lt;br /&gt;
 find . -name &amp;#039;*&amp;#039;|xargs rm&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Show all domains in NGINX configuration ==&lt;br /&gt;
&lt;br /&gt;
 grep -e &amp;quot;^\s*server_name&amp;quot; /etc/nginx/conf.d/*|sed -e &amp;#039;s/[\t ]*server_name//g;&amp;#039;|sed -e &amp;quot;s/ /\+/g&amp;quot;|sed -e &amp;#039;s/;//g&amp;#039;|while read line; do for i in $line; do echo -n &amp;quot;$i &amp;quot;|sed -e &amp;#039;s/://&amp;#039;  -e &amp;#039;s/\+/\n  |--/g&amp;#039;; done ;echo; done; echo&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Kill process that runs more than X time ==&lt;br /&gt;
&lt;br /&gt;
Kill cgi after 30 secs:&lt;br /&gt;
 for i in `ps -eo pid,etime,cmd|grep cgi|awk &amp;#039;$2 &amp;gt; &amp;quot;00:30&amp;quot; {print $1}&amp;#039;`; do kill $i; done&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Unblock Invalid packets in CSF ==&lt;br /&gt;
 # Drop out of order packets and packets in an INVALID state in iptables&lt;br /&gt;
 # connection tracking&lt;br /&gt;
 PACKET_FILTER = &amp;quot;0&amp;quot;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Who uses RAM ==&lt;br /&gt;
&lt;br /&gt;
 ps aux  | awk &amp;#039;{print $6/1024 &amp;quot; MB\t\t&amp;quot; $11}&amp;#039;  | sort -n&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Fix WHM/CPanel templates  ==&lt;br /&gt;
&lt;br /&gt;
 cp /usr/local/apache/conf/httpd.conf{,.cptech-`date +%Y%m%d`}&lt;br /&gt;
 mv /var/cpanel/templates/apache2_4/vhost.local /var/cpanel/templates/apache2_4/vhost.local.bak&lt;br /&gt;
 mv /var/cpanel/templates/apache2_4/ssl_vhost.local /var/cpanel/templates/apache2_4/ssl_vhost.local.bak&lt;br /&gt;
 /scripts/rebuildhttpdconf&lt;br /&gt;
 /scripts/restartsrv_httpd&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Fix NFS mount on boot - Centos 7 ==&lt;br /&gt;
&lt;br /&gt;
Append text to the end of /usr/lib/systemd/system/nfs-idmap.service&lt;br /&gt;
 [Install]&lt;br /&gt;
 WantedBy=multi-user.target&lt;br /&gt;
&lt;br /&gt;
Append text to the end of /usr/lib/systemd/system/nfs-lock.service&lt;br /&gt;
 [Install]&lt;br /&gt;
 WantedBy=nfs.target&lt;br /&gt;
&lt;br /&gt;
Enable related services&lt;br /&gt;
&lt;br /&gt;
 systemctl enable nfs-idmapd.service &lt;br /&gt;
 systemctl enable rpc-statd.service &lt;br /&gt;
 systemctl enable rpcbind.socket&lt;br /&gt;
&lt;br /&gt;
Reboot the server&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Login to WHM with link ==&lt;br /&gt;
&lt;br /&gt;
 whmapi1 create_user_session user=root service=whostmgrd locale=en&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Update date and time on Linux server ==&lt;br /&gt;
&lt;br /&gt;
 sudo ntpd -qg; sudo hwclock -w&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Clone Linux user ==&lt;br /&gt;
&lt;br /&gt;
 #!/bin/bash&lt;br /&gt;
 SRC=$1&lt;br /&gt;
 DEST=$2&lt;br /&gt;
 &lt;br /&gt;
 SRC_GROUPS=$(id -Gn ${SRC} | sed &amp;quot;s/${SRC} //g&amp;quot; | sed &amp;quot;s/ ${SRC}//g&amp;quot; | sed &amp;quot;s/ /,/g&amp;quot;)&lt;br /&gt;
 SRC_SHELL=$(awk -F : -v name=${SRC} &amp;#039;(name == $1) { print $7 }&amp;#039; /etc/passwd)&lt;br /&gt;
 &lt;br /&gt;
 useradd --groups ${SRC_GROUPS} --shell ${SRC_SHELL} --create-home ${DEST}&lt;br /&gt;
 passwd ${DEST}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Reload VM after UUID change ==&lt;br /&gt;
&lt;br /&gt;
 vim-cmd vmsvc/getallvms&lt;br /&gt;
 vim-cmd vmsvc/reload $vmID&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Size of suspended accounts in WHM ==&lt;br /&gt;
 for i in `whmapi1 listsuspended|grep user|cut -d: -f2`; do echo &amp;quot;Suspended account: $i - using&amp;quot; `whmapi1 listaccts search=$i searchtype=user|grep diskused|cut -d: -f2`; done&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Clear BOOT on Ubuntu when 100% ==&lt;br /&gt;
 dpkg --purge `dpkg --list|grep &amp;quot;linux-&amp;quot;|grep -v \`uname -r|sed &amp;#039;s/-generic//g&amp;#039;\`|cut -d&amp;quot; &amp;quot; -f3|grep &amp;quot;[0-9]-&amp;quot;|paste -sd &amp;quot; &amp;quot; -`&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== One-time login to wordpress ==&lt;br /&gt;
&lt;br /&gt;
Install wp cli:&lt;br /&gt;
&lt;br /&gt;
 curl -O https://raw.githubusercontent.com/wp-cli/builds/gh-pages/phar/wp-cli.phar&lt;br /&gt;
 chmod +x wp-cli.phar&lt;br /&gt;
 mv wp-cli.phar /usr/local/bin/wp&lt;br /&gt;
&lt;br /&gt;
Run from the WordPress installed location:&lt;br /&gt;
&lt;br /&gt;
 useradmin=`wp user list --role=administrator --format=csv --allow-root | cut -d&amp;#039;,&amp;#039; -f2 | head -2 | tail -1` &amp;amp;&amp;amp;  wp plugin install one-time-login --activate --allow-root &amp;amp;&amp;amp; wp user one-time-login $useradmin --allow-root &amp;amp;&amp;amp; user=$(stat -c &amp;quot;%U&amp;quot; `pwd`) &amp;amp;&amp;amp; chown $user.$user wp-content/ -R&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Cpanel resources consumption history per user ==&lt;br /&gt;
 &amp;lt;nowiki&amp;gt;OUT=$(/usr/local/cpanel/bin/dcpumonview | grep -v Top | sed -e &amp;#039;s#&amp;lt;[^&amp;gt;]*&amp;gt;# #g&amp;#039; | while read i ; do NF=`echo $i | awk {&amp;#039;print NF&amp;#039;}` ; if [[ &amp;quot;$NF&amp;quot; == &amp;quot;5&amp;quot; ]] ; then USER=`echo $i | awk {&amp;#039;print $1&amp;#039;}`; OWNER=`grep -e &amp;quot;^OWNER=&amp;quot; /var/cpanel/users/$USER | cut -d= -f2` ; echo &amp;quot;$OWNER $i&amp;quot;; fi ; done) ; (echo &amp;quot;USER CPU&amp;quot; ; echo &amp;quot;$OUT&amp;quot; | sort -nrk4 | awk &amp;#039;{printf &amp;quot;%s %s%\n&amp;quot;,$2,$4}&amp;#039; | head -5) | column -t ;echo;(echo -e &amp;quot;USER MEMORY&amp;quot; ; echo &amp;quot;$OUT&amp;quot; | sort -nrk5 | awk &amp;#039;{printf &amp;quot;%s %s%\n&amp;quot;,$2,$5}&amp;#039; | head -5) | column -t ;echo;(echo -e &amp;quot;USER MYSQL&amp;quot; ; echo &amp;quot;$OUT&amp;quot; | sort -nrk6 | awk &amp;#039;{printf &amp;quot;%s %s%\n&amp;quot;,$2,$6}&amp;#039; | head -5) | column -t ; &amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Engintron generate custom_rules for all domains on the server. ==&lt;br /&gt;
 ip=`hostname -i` &amp;amp;&amp;amp; for domain in `httpd -S |  grep www. | awk -F &amp;#039;www.&amp;#039; &amp;#039;{print $2}&amp;#039;`;do printf &amp;quot;if ( \$host ~ \&amp;quot;%s\&amp;quot;) {set \$PROXY_DOMAIN_OR_IP \&amp;quot;$ip\&amp;quot;;}\n&amp;quot; $domain ;done &amp;gt;&amp;gt; /etc/nginx/custom_rules &amp;amp;&amp;amp; service nginx reload&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Fix Installatron - error 500 or missing list/install ==&lt;br /&gt;
 /usr/local/installatron/repair -f --release --quick&lt;br /&gt;
[https://installatron.com/docs/admin/troubleshooting#missinginstalls Installatron FIX]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Find root of a site and CD to it ==&lt;br /&gt;
&lt;br /&gt;
Replace domain.com with desired domain&lt;br /&gt;
 cd `grep &amp;quot;domain.com&amp;quot; /etc/apache2/conf/httpd.conf -A7|grep Root|head -1|awk &amp;#039;{print $2}&amp;#039;`&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Generate CSR with OPENSSL ==&lt;br /&gt;
&lt;br /&gt;
Generate key:&lt;br /&gt;
 openssl genrsa -out private.key 2048&lt;br /&gt;
&lt;br /&gt;
Gemnerate CSR:&lt;br /&gt;
 openssl req -new -sha256 -key private.key -out mycsr.csr&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== PHP disable functions hardening ==&lt;br /&gt;
&lt;br /&gt;
 disable_functions = &amp;quot;allow_url_fopen, apache_child_terminate, apache_setenv, base64_decode, chgrp, chmod, define_syslog_variables, dl, egy_perl, escapeshellarg, escapeshellcmd, eval, exec, fp, fput, ftok, ftp_connect, ftp_exec, ftp_get, ftp_login, ftp_nb_fput, ftp_put, ftp_raw, ftp_rawlist, highlight_file, ini_alter, ini_get_all, ini_restore, ini_set, inject_code, leak, link, mysql_pconnect, openlog, passthru, pclose, pcntl_exec, phpAds_remoteInfo, phpAds_XmlRpc, phpAds_xmlrpcDecode, phpAds_xmlrpcEncode, php_eval, phpinfo, php_uname, popen, posix_access, posix_ctermid, posix_getcwd, posix_getegid, posix_geteuid, posix_getgid, posix_getgrgid, posix_getgrnam, posix_getgroups, posix_get_last_error, posix_getlogin, posix_getpgid, posix_getpgrp, posix_getpid, posix_getppid, posix_getpwnam, posix_getpwuid, posix_getrlimit, posix_getsid, posix_getuid, posix_kill, posix_mkfifo, posix_mknod, posix_satty, posix_setegid, posix_seteuid, posix_setgid, posix_setpgid, posix_setsid, posix_setuid, posix_strerror, posix_tims, posix_ttyname, posix_uname, proc_close, proc_get_status, proc_nice, proc_open, proc_terminate, putenv, readlink, root, safe_dir, set_time_limit, shell_exec, show_source, symlink, syslog, system, wscript, xmlrpc_entity_decode&amp;quot;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Mount Google Drive on Linux ==&lt;br /&gt;
&lt;br /&gt;
Install rclone:&lt;br /&gt;
 yum install rclone&lt;br /&gt;
&lt;br /&gt;
Config rclone: (select Google Drive and all other leave default)&lt;br /&gt;
 rclone config&lt;br /&gt;
&lt;br /&gt;
Browser will be opened on finish, auth with your account and then mount the drive:&lt;br /&gt;
 rclone mount gdrive: /gdrive/ &amp;amp;&lt;br /&gt;
&lt;br /&gt;
Use SSH tunneling for auth if running on Linux server (without GUI)&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Links ==&lt;br /&gt;
Installing Redis: [https://troubleshootguru.wordpress.com/2014/11/19/how-to-install-redis-on-a-centos-6-5-centos-7-0-server-2/] [https://www.fastcomet.com/community/question/wordpress-caching-with-redis-centos-cpanel/] [https://nixtree.com/blog/install-redis-daemon-and-redis-php-extention-on-centosrhelcpanel/]&lt;br /&gt;
&lt;br /&gt;
Windows images [http://torrent-win.net/windows_original/]&lt;br /&gt;
&lt;br /&gt;
Github: [https://github.com/romanost Github]&lt;br /&gt;
&lt;br /&gt;
Arista: [https://www.arista.com/assets/data/docs/Manuals/EOS-4.17.0F-Manual.pdf Manual] [https://www.arista.com/en/um-eos/eos-section-3-10-command-line-interface-commands CLI]&lt;br /&gt;
&lt;br /&gt;
VMware converter old version [http://soft.assenov.net/software/index.php?dir=VMWare/ Link]&lt;br /&gt;
&lt;br /&gt;
GEOip on EA4 [https://grepitout.com/install-mod_geoip-cpanel-easyapache-4/ link]&lt;br /&gt;
&lt;br /&gt;
PHP Malware finder [https://github.com/nbs-system/php-malware-finder link]&lt;br /&gt;
&lt;br /&gt;
Ahsay on QNAP patch [http://wiki.ahsay.com/doku.php?id=public:5356_no_suitable_python_found_for_arm-x41_installation_issue_on_qnap link]&lt;br /&gt;
&lt;br /&gt;
Kubernetes cheat sheet [https://linuxacademy.com/blog/containers/kubernetes-cheat-sheet/ link]&lt;br /&gt;
&lt;br /&gt;
Kubernetes Essentials [https://medium.com/devopslinks/kubernetes-essentials-282ac9951542 link]&lt;/div&gt;</summary>
		<author><name>Meadmin</name></author>	</entry>

	<entry>
		<id>https://mywiki.romanost.co.il/index.php?title=GCP&amp;diff=74</id>
		<title>GCP</title>
		<link rel="alternate" type="text/html" href="https://mywiki.romanost.co.il/index.php?title=GCP&amp;diff=74"/>
				<updated>2019-07-21T10:35:02Z</updated>
		
		<summary type="html">&lt;p&gt;Meadmin: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&lt;br /&gt;
== Install GCloud on Cygwin / MobaXterm ==&lt;br /&gt;
&lt;br /&gt;
 curl https://sdk.cloud.google.com | bash&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Get all instances from all projects ==&lt;br /&gt;
&lt;br /&gt;
 for i in `gcloud projects list --format json|jq &amp;#039;.[].projectId&amp;#039;|xargs`; do gcloud compute instances list --project=$i --format=&amp;quot;csv[no-heading](name,machineType,cpuPlatform)&amp;quot;|sed &amp;quot;s/^/$i,/&amp;quot;; done&lt;/div&gt;</summary>
		<author><name>Meadmin</name></author>	</entry>

	<entry>
		<id>https://mywiki.romanost.co.il/index.php?title=Main_Page&amp;diff=73</id>
		<title>Main Page</title>
		<link rel="alternate" type="text/html" href="https://mywiki.romanost.co.il/index.php?title=Main_Page&amp;diff=73"/>
				<updated>2019-07-21T10:34:29Z</updated>
		
		<summary type="html">&lt;p&gt;Meadmin: /* List of content */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&lt;br /&gt;
== List of content ==&lt;br /&gt;
&lt;br /&gt;
[[Windows]]&lt;br /&gt;
&lt;br /&gt;
[[Linux]]&lt;br /&gt;
&lt;br /&gt;
[[Dbs]]&lt;br /&gt;
&lt;br /&gt;
[[Mails]]&lt;br /&gt;
&lt;br /&gt;
[[Exim]]&lt;br /&gt;
&lt;br /&gt;
[[Dockers]]&lt;br /&gt;
&lt;br /&gt;
[[Kubernetes]]&lt;br /&gt;
&lt;br /&gt;
[[Yamls]]&lt;br /&gt;
&lt;br /&gt;
[[GCP]]&lt;/div&gt;</summary>
		<author><name>Meadmin</name></author>	</entry>

	<entry>
		<id>https://mywiki.romanost.co.il/index.php?title=GCP&amp;diff=72</id>
		<title>GCP</title>
		<link rel="alternate" type="text/html" href="https://mywiki.romanost.co.il/index.php?title=GCP&amp;diff=72"/>
				<updated>2019-07-21T09:26:28Z</updated>
		
		<summary type="html">&lt;p&gt;Meadmin: /* Get all instances from all projects */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&lt;br /&gt;
== Get all instances from all projects ==&lt;br /&gt;
&lt;br /&gt;
 for i in `gcloud projects list --format json|jq &amp;#039;.[].projectId&amp;#039;|xargs`; do gcloud compute instances list --project=$i --format=&amp;quot;csv[no-heading](name,machineType,cpuPlatform)&amp;quot;|sed &amp;quot;s/^/$i,/&amp;quot;; done&lt;/div&gt;</summary>
		<author><name>Meadmin</name></author>	</entry>

	<entry>
		<id>https://mywiki.romanost.co.il/index.php?title=GCP&amp;diff=71</id>
		<title>GCP</title>
		<link rel="alternate" type="text/html" href="https://mywiki.romanost.co.il/index.php?title=GCP&amp;diff=71"/>
				<updated>2019-07-21T09:26:19Z</updated>
		
		<summary type="html">&lt;p&gt;Meadmin: Created page with &amp;quot; == Get all instances from all projects ==  for i in `gcloud projects list --format json|jq &amp;#039;.[].projectId&amp;#039;|xargs`; do gcloud compute instances list --project=$i --format=&amp;quot;csv...&amp;quot;&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&lt;br /&gt;
== Get all instances from all projects ==&lt;br /&gt;
&lt;br /&gt;
for i in `gcloud projects list --format json|jq &amp;#039;.[].projectId&amp;#039;|xargs`; do gcloud compute instances list --project=$i --format=&amp;quot;csv[no-heading](name,machineType,cpuPlatform)&amp;quot;|sed &amp;quot;s/^/$i,/&amp;quot;; done&lt;/div&gt;</summary>
		<author><name>Meadmin</name></author>	</entry>

	<entry>
		<id>https://mywiki.romanost.co.il/index.php?title=Linux&amp;diff=70</id>
		<title>Linux</title>
		<link rel="alternate" type="text/html" href="https://mywiki.romanost.co.il/index.php?title=Linux&amp;diff=70"/>
				<updated>2019-06-19T08:08:08Z</updated>
		
		<summary type="html">&lt;p&gt;Meadmin: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&lt;br /&gt;
== Wordpress login attack check ==&lt;br /&gt;
&lt;br /&gt;
 &amp;#039;&amp;#039;&amp;#039;Crontab :&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
 0 */6 * * *  sh /root/wplogin.sh&lt;br /&gt;
 &lt;br /&gt;
 &amp;#039;&amp;#039;&amp;#039;Script :&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
 #!/bin/bash&lt;br /&gt;
 &lt;br /&gt;
 ###start editing&lt;br /&gt;
 thold=&amp;quot;100&amp;quot;&lt;br /&gt;
 btime=&amp;quot;359m&amp;quot;&lt;br /&gt;
 ###stop editing&lt;br /&gt;
 &lt;br /&gt;
 egrep &amp;#039;wp-login.php&amp;#039; /usr/local/apache/domlogs/* | grep -v ftp_log | awk -F : &amp;#039;{print $2}&amp;#039; | awk &amp;#039;{print $1}&amp;#039; | sort | uniq -c | sort -n | awk -v limit=&amp;quot;$thold&amp;quot; &amp;#039;$1 &amp;gt; limit{print $2}&amp;#039; &amp;gt; $$_ip_$$&lt;br /&gt;
 &lt;br /&gt;
 while IFS= read -r line&lt;br /&gt;
         do&lt;br /&gt;
                 /usr/sbin/csf -td &amp;quot;$line&amp;quot;  &amp;quot;$btime&amp;quot; &amp;quot;banned for wordpress attack&amp;quot;&lt;br /&gt;
         done &amp;lt; $$_ip_$$&lt;br /&gt;
 rm -f $$_ip_$$&lt;br /&gt;
&lt;br /&gt;
== Prevent OOM killer ==&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Edit file /etc/sysctl.conf&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
 &lt;br /&gt;
 vm.overcommit_memory = 2 &lt;br /&gt;
 vm.overcommit_ratio = 100&lt;br /&gt;
&lt;br /&gt;
In case of bad memory usage (php out of memory) use this settings:&lt;br /&gt;
&lt;br /&gt;
 vm.overcommit_memory = 0&lt;br /&gt;
 vm.overcommit_ratio = 80&lt;br /&gt;
&lt;br /&gt;
== Who is using SWAP ==&lt;br /&gt;
 grep VmSwap /proc/*/status 2&amp;gt;/dev/null | sort -nk2 | tail -n5&lt;br /&gt;
&lt;br /&gt;
Print with the process command:&lt;br /&gt;
 grep VmSwap /proc/*/status 2&amp;gt;/dev/null | sort -nk2 | tail -n5|awk -F&amp;#039;/&amp;#039; &amp;#039;{cmd=&amp;quot;cat /proc/&amp;quot; $3 &amp;quot;/cmdline&amp;quot;; cmd|getline var; close (cmd); printf $0 &amp;quot;\t&amp;quot;; print var}&amp;#039;  &lt;br /&gt;
&lt;br /&gt;
== Plesk on CentOS 12 bind fix ==&lt;br /&gt;
&lt;br /&gt;
The problem was nginx was attempting to bind to port 443 before the IP was initialized.&lt;br /&gt;
&lt;br /&gt;
To fix edit the /etx/sysctl.conf file and add &lt;br /&gt;
 net.ipv4.ip_nonlocal_bind = 1&lt;br /&gt;
&lt;br /&gt;
== WHM replica ==&lt;br /&gt;
&lt;br /&gt;
 rsync -avz 192.168.1.122:/home/ /home/ --exclude=&amp;quot;virtfs&amp;quot; --exclude=&amp;quot;\.cp*&amp;quot; --exclude=&amp;quot;cpeasyapache&amp;quot; &lt;br /&gt;
 rsync -avz 192.168.1.122:/usr/local/apache/conf/ /usr/local/apache/conf/&lt;br /&gt;
 rsync -avz 192.168.1.122:/var/named/ /var/named/&lt;br /&gt;
 rsync -avz 192.168.1.122:/usr/local/cpanel/ /usr/local/cpanel/&lt;br /&gt;
 rsync -avz 192.168.1.122:/var/cpanel/ /var/cpanel&lt;br /&gt;
&lt;br /&gt;
 chkconfig cpanel off&lt;br /&gt;
 chkconfig exim off&lt;br /&gt;
 chkconfig dovecot off&lt;br /&gt;
 chkconfig pure-ftpd off&lt;br /&gt;
 chkconfig named off&lt;br /&gt;
 chkconfig mysql off&lt;br /&gt;
 chkconfig csf off&lt;br /&gt;
 chkconfig iptables off&lt;br /&gt;
&lt;br /&gt;
 hostname: /etc/sysconfig/network&lt;br /&gt;
&lt;br /&gt;
 change shared ip - You can change it in /etc/wwwacct.conf infront of ADDR parameter.&lt;br /&gt;
 change ip - Usage: /usr/local/cpanel/bin/setsiteip [-u user | domain] ip   (/etc/trueuserowners)&lt;br /&gt;
 rebuild httpd conf&lt;br /&gt;
 restart apache&lt;br /&gt;
&lt;br /&gt;
== Apache memory usage ==&lt;br /&gt;
&lt;br /&gt;
 ps -ylC httpd | awk &amp;#039;{x += $8;y += 1} END {print &amp;quot;Apache Memory Usage (MB): &amp;quot;x/1024; print &amp;quot;Average Proccess Size (MB): &amp;quot;x/((y-1)*1024)}&amp;#039;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Wordpress pingback ==&lt;br /&gt;
&lt;br /&gt;
Nginx:&lt;br /&gt;
&lt;br /&gt;
 # WordPress Pingback Request Denial&lt;br /&gt;
 if ($http_user_agent ~* &amp;quot;WordPress&amp;quot;) {&lt;br /&gt;
   return 403;&lt;br /&gt;
 }&lt;br /&gt;
&lt;br /&gt;
Apache:&lt;br /&gt;
&lt;br /&gt;
 BrowserMatchNoCase WordPress wordpress_ping&lt;br /&gt;
 BrowserMatchNoCase Wordpress wordpress_ping&lt;br /&gt;
 Order Deny,Allow&lt;br /&gt;
 Deny from env=wordpress_ping&lt;br /&gt;
&lt;br /&gt;
== Find big files and folders ==&lt;br /&gt;
&lt;br /&gt;
 find / -mount -type f -print0 2&amp;gt;/dev/null | xargs -0 du 2&amp;gt;/dev/null | grep -v &amp;quot;virtfs&amp;quot; | sort -n | tail -40 | cut -f2 | xargs -I{} du -sh 2&amp;gt;/dev/null {} | uniq; printf &amp;#039;+%.0s&amp;#039; {1..100}; echo; \&lt;br /&gt;
 find / -mount -type d -print0 2&amp;gt;/dev/null | xargs -0 du 2&amp;gt;/dev/null | grep -v &amp;quot;virtfs&amp;quot; | sort -n | tail -40 | cut -f2 | xargs -I{} du -sh 2&amp;gt;/dev/null {} | uniq; printf &amp;#039;+%.0s&amp;#039; {1..100}; echo; \&lt;br /&gt;
 du -sh /var/cpanel/user_notifications &amp;amp;&amp;amp; du -sh /backup/cpbackup/*/dirs/_var_cpanel/user_notifications&lt;br /&gt;
&lt;br /&gt;
== Rebuild Sophos when disk full ==&lt;br /&gt;
&lt;br /&gt;
 /etc/init.d/postgresql92 rebuild&lt;br /&gt;
&lt;br /&gt;
On older versions:&lt;br /&gt;
 /var/mdw/scripts/smtp stop&lt;br /&gt;
 dropdb -U postgres smtp&lt;br /&gt;
 createdb -U postgres smtp&lt;br /&gt;
 /var/mdw/scripts/smtp start&lt;br /&gt;
&lt;br /&gt;
== Clear allowed networks on Sophos ==&lt;br /&gt;
&lt;br /&gt;
Login to the Sophos&lt;br /&gt;
 Type ‘cc’&lt;br /&gt;
 In cc, you’ll be in MAIN, if not, type ‘MAIN’&lt;br /&gt;
 Type ‘webadmin&amp;#039;&lt;br /&gt;
 Type ‘allowed_networks@&amp;#039;&lt;br /&gt;
 =[&amp;#039;REF_NetworkAny&amp;#039;]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Most accessed sites in the last minute ==&lt;br /&gt;
&lt;br /&gt;
 cat &amp;lt;&amp;lt;&amp;#039;SCRIPT&amp;#039; &amp;gt;&amp;gt;/root/sitesLoad.sh&lt;br /&gt;
 &lt;br /&gt;
 #!/bin/bash&lt;br /&gt;
 &amp;lt;nowiki&amp;gt;if [[ `netstat -ntalp | grep :80 | awk &amp;#039;$4 ~ /:80/ {print $0;exit}&amp;#039; | grep -q httpd; echo $?` -ne 0 ]]; then echo &amp;quot;Main web server is not Apache. Exiting...&amp;quot;; exit 1; fi&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
 &lt;br /&gt;
 log=/tmp/hostPop&lt;br /&gt;
 i=0&lt;br /&gt;
 find /usr/local/apache/domlogs/ -type f -mmin -1 ! -group root -exec ls -l {} \+ | awk &amp;#039;{print $4, $9}&amp;#039; | column -t&amp;gt;$log&lt;br /&gt;
 &lt;br /&gt;
 while read line; do&lt;br /&gt;
 ((++i))&lt;br /&gt;
        arr[$i]=$i&lt;br /&gt;
        arr[$i*1000]=$(printf &amp;quot;$line&amp;quot; | awk &amp;#039;{print $1}&amp;#039;)&lt;br /&gt;
        arr[$i*1001]=$(printf &amp;quot;$line&amp;quot; | awk &amp;#039;{print $2}&amp;#039;)&lt;br /&gt;
        arr[$i*1002]=$(wc -l `echo $line | awk &amp;#039;{print $NF}&amp;#039;` | cut -d&amp;#039; &amp;#039; -f 1)&lt;br /&gt;
 done &amp;lt; &amp;lt;(cat $log)&lt;br /&gt;
 &lt;br /&gt;
 echo &amp;quot;Analyzing apache logs in realtime for 1 minute...&amp;quot;; sleep 60&lt;br /&gt;
 &lt;br /&gt;
 for (( var=1 ; var&amp;lt;=$i ; var++ ))&lt;br /&gt;
 do&lt;br /&gt;
        printf &amp;quot;${arr[$var*1000]} ${arr[$var*1001]} &amp;quot;&lt;br /&gt;
        echo $((`wc -l $(echo ${arr[$var*1001]}) | cut -d&amp;#039; &amp;#039; -f 1` - ${arr[$var*1002]}));&lt;br /&gt;
 done | sed -e &amp;#039;s/\/usr\/local\/apache\/domlogs\///g&amp;#039; | sort -nrk 3 | column -t&lt;br /&gt;
 &lt;br /&gt;
 SCRIPT&lt;br /&gt;
 chmod 700 /root/sitesLoad.sh &amp;amp;&amp;amp; /root/sitesLoad.sh&lt;br /&gt;
&lt;br /&gt;
== PHP.INI upload big files ==&lt;br /&gt;
&lt;br /&gt;
 ini_set(&amp;#039;upload_max_filesize&amp;#039;, &amp;#039;10M&amp;#039;);&lt;br /&gt;
 ini_set(&amp;#039;post_max_size&amp;#039;, &amp;#039;10M&amp;#039;);&lt;br /&gt;
 ini_set(&amp;#039;max_input_time&amp;#039;, 300);&lt;br /&gt;
 ini_set(&amp;#039;max_execution_time&amp;#039;, 300);&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Change permissions (chmod) to folders and files ==&lt;br /&gt;
&lt;br /&gt;
 find . -type d -exec chmod 755 {} +                  &lt;br /&gt;
 find . -type f -exec chmod 644 {} +                 &lt;br /&gt;
&lt;br /&gt;
== Disable IPv6 ==&lt;br /&gt;
&lt;br /&gt;
For current session:&lt;br /&gt;
 echo 1 &amp;gt; /proc/sys/net/ipv6/conf/&amp;lt;interface-name&amp;gt;/disable_ipv6&lt;br /&gt;
 echo 1 &amp;gt; /proc/sys/net/ipv6/conf/eth0/disable_ipv6&lt;br /&gt;
&lt;br /&gt;
Permanent:&lt;br /&gt;
 vi /etc/sysctl.conf&lt;br /&gt;
 net.ipv6.conf.all.disable_ipv6 = 1&lt;br /&gt;
 sudo sysctl -p /etc/sysctl.conf&lt;br /&gt;
&lt;br /&gt;
== Virtual box boot from USB ==&lt;br /&gt;
 VBoxManage internalcommands createrawvmdk -filename C:\usb.vmdk -rawdisk \\.\PhysicalDrive#&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== CSF GUI on ISPCONFIG 3 ==&lt;br /&gt;
Install old CSF (before 8.13)&lt;br /&gt;
&lt;br /&gt;
Copy the ISPCONFIG folder to /etc/csf/ and enable CSF in ISPCONFIG&lt;br /&gt;
&lt;br /&gt;
Backup csfui* files&lt;br /&gt;
&lt;br /&gt;
Upgrade CSF&lt;br /&gt;
&lt;br /&gt;
Copy backuped csfui* files back&lt;br /&gt;
&lt;br /&gt;
Run the following commands:&lt;br /&gt;
 sed -i &amp;#039;s/checkip/ConfigServer::CheckIP::checkip/g&amp;#039; /usr/local/csf/bin/csfui.pl&lt;br /&gt;
 sed -i &amp;#039;s/sanity(/ConfigServer::Sanity::sanity(/g&amp;#039; /usr/local/csf/bin/csfui.pl&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Max connections on Linux ==&lt;br /&gt;
&lt;br /&gt;
Add to /etc/sysctl.conf:&lt;br /&gt;
&lt;br /&gt;
 fs.file-max = 70000&lt;br /&gt;
 net.ipv4.tcp_tw_recycle=0&lt;br /&gt;
 net.ipv4.tcp_fin_timeout = 10&lt;br /&gt;
 net.ipv4.ip_local_port_range = 15000 61000&lt;br /&gt;
 net.core.somaxconn = 1024&lt;br /&gt;
 net.core.netdev_max_backlog = 2000&lt;br /&gt;
&lt;br /&gt;
== CSF configuration ==&lt;br /&gt;
&lt;br /&gt;
 ## Automated configuration:&lt;br /&gt;
 &lt;br /&gt;
 sed -i &amp;#039;s/TESTING = &amp;quot;1&amp;quot;/TESTING = &amp;quot;0&amp;quot;/&amp;#039; /etc/csf/csf.conf&lt;br /&gt;
 sed -i &amp;#039;s/RESTRICT_SYSLOG = &amp;quot;0&amp;quot;/RESTRICT_SYSLOG = &amp;quot;3&amp;quot;/&amp;#039; /etc/csf/csf.conf&lt;br /&gt;
 sed -i &amp;#039;s/IPV6 = &amp;quot;1&amp;quot;/IPV6 = &amp;quot;0&amp;quot;/&amp;#039; /etc/csf/csf.conf&lt;br /&gt;
 sed -i &amp;#039;s/IGNORE_ALLOW = &amp;quot;0&amp;quot;/IGNORE_ALLOW = &amp;quot;1&amp;quot;/&amp;#039; /etc/csf/csf.conf&lt;br /&gt;
 sed -i &amp;#039;s/CONNLIMIT = &amp;quot;&amp;quot;/CONNLIMIT = &amp;quot;22;5,80;70&amp;quot;/&amp;#039; /etc/csf/csf.conf&lt;br /&gt;
 sed -i &amp;#039;s/PORTFLOOD = &amp;quot;&amp;quot;/PORTFLOOD = &amp;quot;22;tcp;5;300,80;tcp;100;1,443;tcp;100;5&amp;quot;/&amp;#039; /etc/csf/csf.conf&lt;br /&gt;
 sed -i &amp;#039;s/CT_LIMIT = &amp;quot;0&amp;quot;/CT_LIMIT = &amp;quot;300&amp;quot;/&amp;#039; /etc/csf/csf.conf&lt;br /&gt;
  &lt;br /&gt;
 ## Disable LFD alerts: Only if you want to disable them!!&lt;br /&gt;
 &lt;br /&gt;
 sed -i &amp;#039;s/LF_EMAIL_ALERT = &amp;quot;1&amp;quot;/LF_EMAIL_ALERT = &amp;quot;0&amp;quot;/&amp;#039; /etc/csf/csf.conf&lt;br /&gt;
 sed -i &amp;#039;s/LF_SSH_EMAIL_ALERT = &amp;quot;1&amp;quot;/LF_SSH_EMAIL_ALERT = &amp;quot;0&amp;quot;/&amp;#039; /etc/csf/csf.conf&lt;br /&gt;
 sed -i &amp;#039;s/LF_SU_EMAIL_ALERT = &amp;quot;1&amp;quot;/LF_SU_EMAIL_ALERT = &amp;quot;0&amp;quot;/&amp;#039; /etc/csf/csf.conf&lt;br /&gt;
 sed -i &amp;#039;s/LF_WEBMIN_EMAIL_ALERT = &amp;quot;1&amp;quot;/LF_WEBMIN_EMAIL_ALERT = &amp;quot;0&amp;quot;/&amp;#039; /etc/csf/csf.conf&lt;br /&gt;
 sed -i &amp;#039;s/LF_CONSOLE_EMAIL_ALERT = &amp;quot;1&amp;quot;/LF_CONSOLE_EMAIL_ALERT = &amp;quot;0&amp;quot;/&amp;#039; /etc/csf/csf.conf&lt;br /&gt;
 sed -i &amp;#039;s/LT_EMAIL_ALERT = &amp;quot;1&amp;quot;/LT_EMAIL_ALERT = &amp;quot;0&amp;quot;/&amp;#039; /etc/csf/csf.conf&lt;br /&gt;
 sed -i &amp;#039;s/CT_EMAIL_ALERT = &amp;quot;1&amp;quot;/CT_EMAIL_ALERT = &amp;quot;0&amp;quot;/&amp;#039; /etc/csf/csf.conf&lt;br /&gt;
 sed -i &amp;#039;s/PS_EMAIL_ALERT = &amp;quot;1&amp;quot;/PS_EMAIL_ALERT = &amp;quot;0&amp;quot;/&amp;#039; /etc/csf/csf.conf&lt;br /&gt;
 &lt;br /&gt;
 ## Disable PT alerts: Only if you want to disable them!!&lt;br /&gt;
 &lt;br /&gt;
 sed -i &amp;#039;s/PT_USERPROC = &amp;quot;10&amp;quot;/PT_USERPROC = &amp;quot;0&amp;quot;/&amp;#039; /etc/csf/csf.conf&lt;br /&gt;
 sed -i &amp;#039;s/PT_USERMEM = &amp;quot;256&amp;quot;/PT_USERMEM = &amp;quot;0&amp;quot;/&amp;#039; /etc/csf/csf.conf&lt;br /&gt;
 sed -i &amp;#039;s/PT_USERTIME = &amp;quot;1800&amp;quot;/PT_USERTIME = &amp;quot;0&amp;quot;/&amp;#039; /etc/csf/csf.conf&lt;br /&gt;
 sed -i &amp;#039;s/PT_USERKILL_ALERT = &amp;quot;1&amp;quot;/PT_USERKILL_ALERT = &amp;quot;0&amp;quot;/&amp;#039; /etc/csf/csf.conf&lt;br /&gt;
 sed -i &amp;#039;s/PT_LOAD = &amp;quot;30&amp;quot;/PT_LOAD = &amp;quot;0&amp;quot;/&amp;#039; /etc/csf/csf.conf&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Rescan drives ==&lt;br /&gt;
&lt;br /&gt;
 echo &amp;quot;- - -&amp;quot; &amp;gt; /sys/class/scsi_host/host0/scan&lt;br /&gt;
&lt;br /&gt;
 echo 1 &amp;gt; /sys/class/scsi_device/2\:0\:0\:0/device/rescan&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Find PTR owner - reversal ==&lt;br /&gt;
&lt;br /&gt;
 dig 0.168.192.in-addr.arpa. NS&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Fix locales in Ubuntu ==&lt;br /&gt;
 locale-gen en_US.UTF-8&lt;br /&gt;
 dpkg-reconfigure locales&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Change permissions to all files and folders ==&lt;br /&gt;
 chown `stat -c %U .`.`stat -c %U .` * -R&lt;br /&gt;
&lt;br /&gt;
== Open last edited file ==&lt;br /&gt;
 less `ls -dx1tr /usr/local/cpanel/logs/cpbackup/*|tail -1`&lt;br /&gt;
&lt;br /&gt;
== Clear cache and swap ==&lt;br /&gt;
 echo 3 &amp;gt; /proc/sys/vm/drop_caches &amp;amp;&amp;amp; swapoff -a &amp;amp;&amp;amp; swapon -a&lt;br /&gt;
&lt;br /&gt;
== Disable core files in CPanel accounts ==&lt;br /&gt;
&lt;br /&gt;
Add this in /etc/sysctl.conf&lt;br /&gt;
 kernel.core_uses_pid = 0&lt;br /&gt;
 kernel.core_pattern = /dev/null&lt;br /&gt;
&lt;br /&gt;
And run:&lt;br /&gt;
 sysctl -p&lt;br /&gt;
&lt;br /&gt;
== Add HSTS support in CPANEL ==&lt;br /&gt;
 cp -p /var/cpanel/templates/apache2_4/ssl_vhost.default /var/cpanel/templates/apache2_4/ssl_vhost.local&lt;br /&gt;
 vi /var/cpanel/templates/apache2_4/ssl_vhost.local&lt;br /&gt;
&lt;br /&gt;
Edit:&lt;br /&gt;
 &amp;lt;VirtualHost[% FOREACH ipblock IN vhost.ips %] [% ipblock.ip %]:[% ipblock.port %][% END %]&amp;gt;&lt;br /&gt;
  # Enable HTTP Strict Transport Security&lt;br /&gt;
  Header always set Strict-Transport-Security &amp;quot;max-age=63072000; includeSubdomains;&amp;quot;&lt;br /&gt;
&lt;br /&gt;
 cp -p /var/cpanel/templates/apache2_4/main.default /var/cpanel/templates/apache2_4/main.local&lt;br /&gt;
 vi /var/cpanel/templates/apache2_4/main.local&lt;br /&gt;
&lt;br /&gt;
Edit:&lt;br /&gt;
 [% IF main.sslprotocol.item.sslprotocol.length %]SSLProtocol [% main.sslprotocol.item.sslprotocol %][% END %]&lt;br /&gt;
 SSLHonorCipherOrder on&lt;br /&gt;
&lt;br /&gt;
Run:&lt;br /&gt;
 /scripts/rebuildhttpdconf&lt;br /&gt;
 service httpd restart&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Install mod_pagespeed on WHM ==&lt;br /&gt;
&lt;br /&gt;
With EA3:&lt;br /&gt;
 /usr/local/cpanel/3rdparty/bin/git clone https://github.com/pagespeed/cpanel.git /tmp/pagespeed/&lt;br /&gt;
 cd /tmp/pagespeed/Easy&lt;br /&gt;
 tar -zcvf Speed.pm.tar.gz pagespeed&lt;br /&gt;
 mkdir -p /var/cpanel/easy/apache/custom_opt_mods/Cpanel/Easy&lt;br /&gt;
 mv Speed.pm Speed.pm.tar.gz -t /var/cpanel/easy/apache/custom_opt_mods/Cpanel/Easy/&lt;br /&gt;
 cd &amp;amp;&amp;amp; rm -rf /tmp/pagespeed&lt;br /&gt;
&lt;br /&gt;
With EA4:&lt;br /&gt;
&lt;br /&gt;
Create file /etc/rpm/macros.apache2 and add the following lines of code exactly as below&lt;br /&gt;
 %_httpd_mmn 20120211x8664&lt;br /&gt;
 %_httpd_apxs /usr/bin/apxs&lt;br /&gt;
 %_httpd_dir /etc/apache2&lt;br /&gt;
 %_httpd_bindir %{_httpd_dir}/bin&lt;br /&gt;
 %_httpd_modconfdir %{_httpd_dir}/conf.modules.d&lt;br /&gt;
 %_httpd_confdir %{_httpd_dir}/conf.d&lt;br /&gt;
 %_httpd_contentdir /usr/share/apache2&lt;br /&gt;
 %_httpd_moddir /usr/lib64/apache2/modules&lt;br /&gt;
&lt;br /&gt;
Next run the following commands in order, make sure you run each command on it’s own&lt;br /&gt;
 rm -rf /root/rpmbuild/RPMS/x86_64/&lt;br /&gt;
 wget https://github.com/pagespeed/cpanel/raw/master/EA4/ea-apache24-mod_pagespeed-latest-stable.src.rpm&lt;br /&gt;
 rpmbuild --rebuild ea-apache24-mod_pagespeed-latest-stable.src.rpm&lt;br /&gt;
 rpm -Uvh /root/rpmbuild/RPMS/x86_64/ea-apache24-mod_pagespeed*.rpm&lt;br /&gt;
 /etc/init.d/httpd restart&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Resize root partition without reboot ==&lt;br /&gt;
&lt;br /&gt;
Resize HD size in VC&lt;br /&gt;
Run: (replace the device if needed)&lt;br /&gt;
 echo 1 &amp;gt; /sys/class/scsi_device/2\:0\:0\:0/device/rescan&lt;br /&gt;
 run fdisk:&lt;br /&gt;
print the old partition and save the output&lt;br /&gt;
delete the root partition&lt;br /&gt;
create a new partition using the SAME start block and make sure that the end block is higher than previous one (enter, enter, enter…)&lt;br /&gt;
write changes (ignore error)&lt;br /&gt;
run:&lt;br /&gt;
 partx -u /dev/sda&lt;br /&gt;
 resize2fs -f /dev/sda3&lt;br /&gt;
Make sure everything is OK:&lt;br /&gt;
 df -h&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Delete files with a large file list - Argument list too long ==&lt;br /&gt;
 find . -name &amp;#039;*&amp;#039;|xargs rm&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Show all domains in NGINX configuration ==&lt;br /&gt;
&lt;br /&gt;
 grep -e &amp;quot;^\s*server_name&amp;quot; /etc/nginx/conf.d/*|sed -e &amp;#039;s/[\t ]*server_name//g;&amp;#039;|sed -e &amp;quot;s/ /\+/g&amp;quot;|sed -e &amp;#039;s/;//g&amp;#039;|while read line; do for i in $line; do echo -n &amp;quot;$i &amp;quot;|sed -e &amp;#039;s/://&amp;#039;  -e &amp;#039;s/\+/\n  |--/g&amp;#039;; done ;echo; done; echo&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Kill process that runs more than X time ==&lt;br /&gt;
&lt;br /&gt;
Kill cgi after 30 secs:&lt;br /&gt;
 for i in `ps -eo pid,etime,cmd|grep cgi|awk &amp;#039;$2 &amp;gt; &amp;quot;00:30&amp;quot; {print $1}&amp;#039;`; do kill $i; done&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Unblock Invalid packets in CSF ==&lt;br /&gt;
 # Drop out of order packets and packets in an INVALID state in iptables&lt;br /&gt;
 # connection tracking&lt;br /&gt;
 PACKET_FILTER = &amp;quot;0&amp;quot;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Who uses RAM ==&lt;br /&gt;
&lt;br /&gt;
 ps aux  | awk &amp;#039;{print $6/1024 &amp;quot; MB\t\t&amp;quot; $11}&amp;#039;  | sort -n&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Fix WHM/CPanel templates  ==&lt;br /&gt;
&lt;br /&gt;
 cp /usr/local/apache/conf/httpd.conf{,.cptech-`date +%Y%m%d`}&lt;br /&gt;
 mv /var/cpanel/templates/apache2_4/vhost.local /var/cpanel/templates/apache2_4/vhost.local.bak&lt;br /&gt;
 mv /var/cpanel/templates/apache2_4/ssl_vhost.local /var/cpanel/templates/apache2_4/ssl_vhost.local.bak&lt;br /&gt;
 /scripts/rebuildhttpdconf&lt;br /&gt;
 /scripts/restartsrv_httpd&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Fix NFS mount on boot - Centos 7 ==&lt;br /&gt;
&lt;br /&gt;
Append text to the end of /usr/lib/systemd/system/nfs-idmap.service&lt;br /&gt;
 [Install]&lt;br /&gt;
 WantedBy=multi-user.target&lt;br /&gt;
&lt;br /&gt;
Append text to the end of /usr/lib/systemd/system/nfs-lock.service&lt;br /&gt;
 [Install]&lt;br /&gt;
 WantedBy=nfs.target&lt;br /&gt;
&lt;br /&gt;
Enable related services&lt;br /&gt;
&lt;br /&gt;
 systemctl enable nfs-idmapd.service &lt;br /&gt;
 systemctl enable rpc-statd.service &lt;br /&gt;
 systemctl enable rpcbind.socket&lt;br /&gt;
&lt;br /&gt;
Reboot the server&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Login to WHM with link ==&lt;br /&gt;
&lt;br /&gt;
 whmapi1 create_user_session user=root service=whostmgrd locale=en&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Update date and time on Linux server ==&lt;br /&gt;
&lt;br /&gt;
 sudo ntpd -qg; sudo hwclock -w&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Clone Linux user ==&lt;br /&gt;
&lt;br /&gt;
 #!/bin/bash&lt;br /&gt;
 SRC=$1&lt;br /&gt;
 DEST=$2&lt;br /&gt;
 &lt;br /&gt;
 SRC_GROUPS=$(id -Gn ${SRC} | sed &amp;quot;s/${SRC} //g&amp;quot; | sed &amp;quot;s/ ${SRC}//g&amp;quot; | sed &amp;quot;s/ /,/g&amp;quot;)&lt;br /&gt;
 SRC_SHELL=$(awk -F : -v name=${SRC} &amp;#039;(name == $1) { print $7 }&amp;#039; /etc/passwd)&lt;br /&gt;
 &lt;br /&gt;
 useradd --groups ${SRC_GROUPS} --shell ${SRC_SHELL} --create-home ${DEST}&lt;br /&gt;
 passwd ${DEST}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Reload VM after UUID change ==&lt;br /&gt;
&lt;br /&gt;
 vim-cmd vmsvc/getallvms&lt;br /&gt;
 vim-cmd vmsvc/reload $vmID&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Size of suspended accounts in WHM ==&lt;br /&gt;
 for i in `whmapi1 listsuspended|grep user|cut -d: -f2`; do echo &amp;quot;Suspended account: $i - using&amp;quot; `whmapi1 listaccts search=$i searchtype=user|grep diskused|cut -d: -f2`; done&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Clear BOOT on Ubuntu when 100% ==&lt;br /&gt;
 dpkg --purge `dpkg --list|grep &amp;quot;linux-&amp;quot;|grep -v \`uname -r|sed &amp;#039;s/-generic//g&amp;#039;\`|cut -d&amp;quot; &amp;quot; -f3|grep &amp;quot;[0-9]-&amp;quot;|paste -sd &amp;quot; &amp;quot; -`&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== One-time login to wordpress ==&lt;br /&gt;
&lt;br /&gt;
Install wp cli:&lt;br /&gt;
&lt;br /&gt;
 curl -O https://raw.githubusercontent.com/wp-cli/builds/gh-pages/phar/wp-cli.phar&lt;br /&gt;
 chmod +x wp-cli.phar&lt;br /&gt;
 mv wp-cli.phar /usr/local/bin/wp&lt;br /&gt;
&lt;br /&gt;
Run from the WordPress installed location:&lt;br /&gt;
&lt;br /&gt;
 useradmin=`wp user list --role=administrator --format=csv --allow-root | cut -d&amp;#039;,&amp;#039; -f2 | head -2 | tail -1` &amp;amp;&amp;amp;  wp plugin install one-time-login --activate --allow-root &amp;amp;&amp;amp; wp user one-time-login $useradmin --allow-root &amp;amp;&amp;amp; user=$(stat -c &amp;quot;%U&amp;quot; `pwd`) &amp;amp;&amp;amp; chown $user.$user wp-content/ -R&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Cpanel resources consumption history per user ==&lt;br /&gt;
 &amp;lt;nowiki&amp;gt;OUT=$(/usr/local/cpanel/bin/dcpumonview | grep -v Top | sed -e &amp;#039;s#&amp;lt;[^&amp;gt;]*&amp;gt;# #g&amp;#039; | while read i ; do NF=`echo $i | awk {&amp;#039;print NF&amp;#039;}` ; if [[ &amp;quot;$NF&amp;quot; == &amp;quot;5&amp;quot; ]] ; then USER=`echo $i | awk {&amp;#039;print $1&amp;#039;}`; OWNER=`grep -e &amp;quot;^OWNER=&amp;quot; /var/cpanel/users/$USER | cut -d= -f2` ; echo &amp;quot;$OWNER $i&amp;quot;; fi ; done) ; (echo &amp;quot;USER CPU&amp;quot; ; echo &amp;quot;$OUT&amp;quot; | sort -nrk4 | awk &amp;#039;{printf &amp;quot;%s %s%\n&amp;quot;,$2,$4}&amp;#039; | head -5) | column -t ;echo;(echo -e &amp;quot;USER MEMORY&amp;quot; ; echo &amp;quot;$OUT&amp;quot; | sort -nrk5 | awk &amp;#039;{printf &amp;quot;%s %s%\n&amp;quot;,$2,$5}&amp;#039; | head -5) | column -t ;echo;(echo -e &amp;quot;USER MYSQL&amp;quot; ; echo &amp;quot;$OUT&amp;quot; | sort -nrk6 | awk &amp;#039;{printf &amp;quot;%s %s%\n&amp;quot;,$2,$6}&amp;#039; | head -5) | column -t ; &amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Engintron generate custom_rules for all domains on the server. ==&lt;br /&gt;
 ip=`hostname -i` &amp;amp;&amp;amp; for domain in `httpd -S |  grep www. | awk -F &amp;#039;www.&amp;#039; &amp;#039;{print $2}&amp;#039;`;do printf &amp;quot;if ( \$host ~ \&amp;quot;%s\&amp;quot;) {set \$PROXY_DOMAIN_OR_IP \&amp;quot;$ip\&amp;quot;;}\n&amp;quot; $domain ;done &amp;gt;&amp;gt; /etc/nginx/custom_rules &amp;amp;&amp;amp; service nginx reload&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Fix Installatron - error 500 or missing list/install ==&lt;br /&gt;
 /usr/local/installatron/repair -f --release --quick&lt;br /&gt;
[https://installatron.com/docs/admin/troubleshooting#missinginstalls Installatron FIX]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Find root of a site and CD to it ==&lt;br /&gt;
&lt;br /&gt;
Replace domain.com with desired domain&lt;br /&gt;
 cd `grep &amp;quot;domain.com&amp;quot; /etc/apache2/conf/httpd.conf -A7|grep Root|head -1|awk &amp;#039;{print $2}&amp;#039;`&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Generate CSR with OPENSSL ==&lt;br /&gt;
&lt;br /&gt;
Generate key:&lt;br /&gt;
 openssl genrsa -out private.key 2048&lt;br /&gt;
&lt;br /&gt;
Gemnerate CSR:&lt;br /&gt;
 openssl req -new -sha256 -key private.key -out mycsr.csr&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== PHP disable functions hardening ==&lt;br /&gt;
&lt;br /&gt;
 disable_functions = &amp;quot;allow_url_fopen, apache_child_terminate, apache_setenv, base64_decode, chgrp, chmod, define_syslog_variables, dl, egy_perl, escapeshellarg, escapeshellcmd, eval, exec, fp, fput, ftok, ftp_connect, ftp_exec, ftp_get, ftp_login, ftp_nb_fput, ftp_put, ftp_raw, ftp_rawlist, highlight_file, ini_alter, ini_get_all, ini_restore, ini_set, inject_code, leak, link, mysql_pconnect, openlog, passthru, pclose, pcntl_exec, phpAds_remoteInfo, phpAds_XmlRpc, phpAds_xmlrpcDecode, phpAds_xmlrpcEncode, php_eval, phpinfo, php_uname, popen, posix_access, posix_ctermid, posix_getcwd, posix_getegid, posix_geteuid, posix_getgid, posix_getgrgid, posix_getgrnam, posix_getgroups, posix_get_last_error, posix_getlogin, posix_getpgid, posix_getpgrp, posix_getpid, posix_getppid, posix_getpwnam, posix_getpwuid, posix_getrlimit, posix_getsid, posix_getuid, posix_kill, posix_mkfifo, posix_mknod, posix_satty, posix_setegid, posix_seteuid, posix_setgid, posix_setpgid, posix_setsid, posix_setuid, posix_strerror, posix_tims, posix_ttyname, posix_uname, proc_close, proc_get_status, proc_nice, proc_open, proc_terminate, putenv, readlink, root, safe_dir, set_time_limit, shell_exec, show_source, symlink, syslog, system, wscript, xmlrpc_entity_decode&amp;quot;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Links ==&lt;br /&gt;
Installing Redis: [https://troubleshootguru.wordpress.com/2014/11/19/how-to-install-redis-on-a-centos-6-5-centos-7-0-server-2/] [https://www.fastcomet.com/community/question/wordpress-caching-with-redis-centos-cpanel/] [https://nixtree.com/blog/install-redis-daemon-and-redis-php-extention-on-centosrhelcpanel/]&lt;br /&gt;
&lt;br /&gt;
Windows images [http://torrent-win.net/windows_original/]&lt;br /&gt;
&lt;br /&gt;
Github: [https://github.com/romanost Github]&lt;br /&gt;
&lt;br /&gt;
Arista: [https://www.arista.com/assets/data/docs/Manuals/EOS-4.17.0F-Manual.pdf Manual] [https://www.arista.com/en/um-eos/eos-section-3-10-command-line-interface-commands CLI]&lt;br /&gt;
&lt;br /&gt;
VMware converter old version [http://soft.assenov.net/software/index.php?dir=VMWare/ Link]&lt;br /&gt;
&lt;br /&gt;
GEOip on EA4 [https://grepitout.com/install-mod_geoip-cpanel-easyapache-4/ link]&lt;br /&gt;
&lt;br /&gt;
PHP Malware finder [https://github.com/nbs-system/php-malware-finder link]&lt;br /&gt;
&lt;br /&gt;
Ahsay on QNAP patch [http://wiki.ahsay.com/doku.php?id=public:5356_no_suitable_python_found_for_arm-x41_installation_issue_on_qnap link]&lt;br /&gt;
&lt;br /&gt;
Kubernetes cheat sheet [https://linuxacademy.com/blog/containers/kubernetes-cheat-sheet/ link]&lt;br /&gt;
&lt;br /&gt;
Kubernetes Essentials [https://medium.com/devopslinks/kubernetes-essentials-282ac9951542 link]&lt;/div&gt;</summary>
		<author><name>Meadmin</name></author>	</entry>

	<entry>
		<id>https://mywiki.romanost.co.il/index.php?title=Yamls&amp;diff=69</id>
		<title>Yamls</title>
		<link rel="alternate" type="text/html" href="https://mywiki.romanost.co.il/index.php?title=Yamls&amp;diff=69"/>
				<updated>2019-06-02T09:25:18Z</updated>
		
		<summary type="html">&lt;p&gt;Meadmin: Created page with &amp;quot; == POD with NFS mount ==   # Create a pod that reads and writes to the NFS server via an NFS volume.    kind: Pod  apiVersion: v1  metadata:    name: pod-using-nfs  spec:...&amp;quot;&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&lt;br /&gt;
== POD with NFS mount ==&lt;br /&gt;
&lt;br /&gt;
 # Create a pod that reads and writes to the NFS server via an NFS volume.&lt;br /&gt;
 &lt;br /&gt;
 kind: Pod&lt;br /&gt;
 apiVersion: v1&lt;br /&gt;
 metadata:&lt;br /&gt;
   name: pod-using-nfs&lt;br /&gt;
 spec:&lt;br /&gt;
   # Add the server as an NFS volume for the pod&lt;br /&gt;
   volumes:&lt;br /&gt;
     - name: nfs-volume&lt;br /&gt;
       nfs: &lt;br /&gt;
         # URL for the NFS server&lt;br /&gt;
         server: 10.128.0.4        # Change to the NFS server IP&lt;br /&gt;
         path: /mnt/sharedfolder  # Change to the exported folder name&lt;br /&gt;
 &lt;br /&gt;
   # In this container, we&amp;#039;ll mount the NFS volume&lt;br /&gt;
   # and write the date to a file inside it.&lt;br /&gt;
   containers:&lt;br /&gt;
     - name: app&lt;br /&gt;
       image: alpine              # Change to the needed image&lt;br /&gt;
 &lt;br /&gt;
       # Mount the NFS volume in the container&lt;br /&gt;
       volumeMounts:&lt;br /&gt;
         - name: nfs-volume&lt;br /&gt;
           mountPath: /var/nfs    # Change to the desired mount point&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== VPN client ==&lt;br /&gt;
&lt;br /&gt;
Deployment YAML:&lt;br /&gt;
&lt;br /&gt;
 apiVersion: extensions/v1beta1&lt;br /&gt;
 kind: Deployment&lt;br /&gt;
 metadata:&lt;br /&gt;
   annotations:&lt;br /&gt;
     kompose.cmd: kompose convert --volumes persistentVolumeClaim&lt;br /&gt;
     kompose.version: 1.16.0 (0c01309)&lt;br /&gt;
   creationTimestamp: null&lt;br /&gt;
   labels:&lt;br /&gt;
     io.kompose.service: vpn&lt;br /&gt;
   name: vpn&lt;br /&gt;
 spec:&lt;br /&gt;
   replicas: 1&lt;br /&gt;
   strategy:&lt;br /&gt;
     type: Recreate&lt;br /&gt;
   template:&lt;br /&gt;
     metadata:&lt;br /&gt;
       creationTimestamp: null&lt;br /&gt;
       labels:&lt;br /&gt;
         io.kompose.service: vpn&lt;br /&gt;
     spec:&lt;br /&gt;
       containers:&lt;br /&gt;
       - env:&lt;br /&gt;
         - name: TZ&lt;br /&gt;
           value: EST5EDT&lt;br /&gt;
         image: dperson/openvpn-client&lt;br /&gt;
         name: vpn&lt;br /&gt;
         resources: {}&lt;br /&gt;
         securityContext:&lt;br /&gt;
           capabilities:&lt;br /&gt;
             add:&lt;br /&gt;
             - net_admin&lt;br /&gt;
         stdin: true&lt;br /&gt;
         tty: true&lt;br /&gt;
         volumeMounts:&lt;br /&gt;
         - mountPath: /vpn&lt;br /&gt;
           name: vpn-claim0&lt;br /&gt;
         - mountPath: /run&lt;br /&gt;
           name: vpn-tmpfs0&lt;br /&gt;
         - mountPath: /tmp&lt;br /&gt;
           name: vpn-tmpfs1&lt;br /&gt;
       restartPolicy: Always&lt;br /&gt;
       volumes:&lt;br /&gt;
       - name: vpn-claim0&lt;br /&gt;
         persistentVolumeClaim:&lt;br /&gt;
           claimName: vpn-claim0&lt;br /&gt;
       - emptyDir:&lt;br /&gt;
           medium: Memory&lt;br /&gt;
         name: vpn-tmpfs0&lt;br /&gt;
       - emptyDir:&lt;br /&gt;
           medium: Memory&lt;br /&gt;
         name: vpn-tmpfs1&lt;br /&gt;
 status: {}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Storage yaml:&lt;br /&gt;
&lt;br /&gt;
 apiVersion: v1&lt;br /&gt;
 kind: PersistentVolumeClaim&lt;br /&gt;
 metadata:&lt;br /&gt;
   creationTimestamp: null&lt;br /&gt;
   labels:&lt;br /&gt;
     io.kompose.service: vpn-claim0&lt;br /&gt;
   name: vpn-claim0&lt;br /&gt;
 spec:&lt;br /&gt;
   accessModes:&lt;br /&gt;
   - ReadWriteOnce&lt;br /&gt;
   resources:&lt;br /&gt;
     requests:&lt;br /&gt;
       storage: 100Mi&lt;br /&gt;
 status: {}&lt;/div&gt;</summary>
		<author><name>Meadmin</name></author>	</entry>

	<entry>
		<id>https://mywiki.romanost.co.il/index.php?title=Main_Page&amp;diff=68</id>
		<title>Main Page</title>
		<link rel="alternate" type="text/html" href="https://mywiki.romanost.co.il/index.php?title=Main_Page&amp;diff=68"/>
				<updated>2019-06-02T09:21:54Z</updated>
		
		<summary type="html">&lt;p&gt;Meadmin: /* List of content */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&lt;br /&gt;
== List of content ==&lt;br /&gt;
&lt;br /&gt;
[[Windows]]&lt;br /&gt;
&lt;br /&gt;
[[Linux]]&lt;br /&gt;
&lt;br /&gt;
[[Dbs]]&lt;br /&gt;
&lt;br /&gt;
[[Mails]]&lt;br /&gt;
&lt;br /&gt;
[[Exim]]&lt;br /&gt;
&lt;br /&gt;
[[Dockers]]&lt;br /&gt;
&lt;br /&gt;
[[Kubernetes]]&lt;br /&gt;
&lt;br /&gt;
[[Yamls]]&lt;/div&gt;</summary>
		<author><name>Meadmin</name></author>	</entry>

	<entry>
		<id>https://mywiki.romanost.co.il/index.php?title=Kubernetes&amp;diff=67</id>
		<title>Kubernetes</title>
		<link rel="alternate" type="text/html" href="https://mywiki.romanost.co.il/index.php?title=Kubernetes&amp;diff=67"/>
				<updated>2019-06-02T09:21:15Z</updated>
		
		<summary type="html">&lt;p&gt;Meadmin: Created page with &amp;quot; == Deploy using kubectl ==  kubectl -f file.yaml  == Convert docker-compose to Kubectl yamls ==  kompose convert -f docker-compose.yaml&amp;quot;&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&lt;br /&gt;
== Deploy using kubectl ==&lt;br /&gt;
 kubectl -f file.yaml&lt;br /&gt;
&lt;br /&gt;
== Convert docker-compose to Kubectl yamls ==&lt;br /&gt;
 kompose convert -f docker-compose.yaml&lt;/div&gt;</summary>
		<author><name>Meadmin</name></author>	</entry>

	<entry>
		<id>https://mywiki.romanost.co.il/index.php?title=Linux&amp;diff=66</id>
		<title>Linux</title>
		<link rel="alternate" type="text/html" href="https://mywiki.romanost.co.il/index.php?title=Linux&amp;diff=66"/>
				<updated>2019-04-10T14:29:11Z</updated>
		
		<summary type="html">&lt;p&gt;Meadmin: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&lt;br /&gt;
== Wordpress login attack check ==&lt;br /&gt;
&lt;br /&gt;
 &amp;#039;&amp;#039;&amp;#039;Crontab :&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
 0 */6 * * *  sh /root/wplogin.sh&lt;br /&gt;
 &lt;br /&gt;
 &amp;#039;&amp;#039;&amp;#039;Script :&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
 #!/bin/bash&lt;br /&gt;
 &lt;br /&gt;
 ###start editing&lt;br /&gt;
 thold=&amp;quot;100&amp;quot;&lt;br /&gt;
 btime=&amp;quot;359m&amp;quot;&lt;br /&gt;
 ###stop editing&lt;br /&gt;
 &lt;br /&gt;
 egrep &amp;#039;wp-login.php&amp;#039; /usr/local/apache/domlogs/* | grep -v ftp_log | awk -F : &amp;#039;{print $2}&amp;#039; | awk &amp;#039;{print $1}&amp;#039; | sort | uniq -c | sort -n | awk -v limit=&amp;quot;$thold&amp;quot; &amp;#039;$1 &amp;gt; limit{print $2}&amp;#039; &amp;gt; $$_ip_$$&lt;br /&gt;
 &lt;br /&gt;
 while IFS= read -r line&lt;br /&gt;
         do&lt;br /&gt;
                 /usr/sbin/csf -td &amp;quot;$line&amp;quot;  &amp;quot;$btime&amp;quot; &amp;quot;banned for wordpress attack&amp;quot;&lt;br /&gt;
         done &amp;lt; $$_ip_$$&lt;br /&gt;
 rm -f $$_ip_$$&lt;br /&gt;
&lt;br /&gt;
== Prevent OOM killer ==&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Edit file /etc/sysctl.conf&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
 &lt;br /&gt;
 vm.overcommit_memory = 2 &lt;br /&gt;
 vm.overcommit_ratio = 100&lt;br /&gt;
&lt;br /&gt;
In case of bad memory usage (php out of memory) use this settings:&lt;br /&gt;
&lt;br /&gt;
 vm.overcommit_memory = 0&lt;br /&gt;
 vm.overcommit_ratio = 80&lt;br /&gt;
&lt;br /&gt;
== Who is using SWAP ==&lt;br /&gt;
 grep VmSwap /proc/*/status 2&amp;gt;/dev/null | sort -nk2 | tail -n5&lt;br /&gt;
&lt;br /&gt;
Print with the process command:&lt;br /&gt;
 grep VmSwap /proc/*/status 2&amp;gt;/dev/null | sort -nk2 | tail -n5|awk -F&amp;#039;/&amp;#039; &amp;#039;{cmd=&amp;quot;cat /proc/&amp;quot; $3 &amp;quot;/cmdline&amp;quot;; cmd|getline var; close (cmd); printf $0 &amp;quot;\t&amp;quot;; print var}&amp;#039;  &lt;br /&gt;
&lt;br /&gt;
== Plesk on CentOS 12 bind fix ==&lt;br /&gt;
&lt;br /&gt;
The problem was nginx was attempting to bind to port 443 before the IP was initialized.&lt;br /&gt;
&lt;br /&gt;
To fix edit the /etx/sysctl.conf file and add &lt;br /&gt;
 net.ipv4.ip_nonlocal_bind = 1&lt;br /&gt;
&lt;br /&gt;
== WHM replica ==&lt;br /&gt;
&lt;br /&gt;
 rsync -avz 192.168.1.122:/home/ /home/ --exclude=&amp;quot;virtfs&amp;quot; --exclude=&amp;quot;\.cp*&amp;quot; --exclude=&amp;quot;cpeasyapache&amp;quot; &lt;br /&gt;
 rsync -avz 192.168.1.122:/usr/local/apache/conf/ /usr/local/apache/conf/&lt;br /&gt;
 rsync -avz 192.168.1.122:/var/named/ /var/named/&lt;br /&gt;
 rsync -avz 192.168.1.122:/usr/local/cpanel/ /usr/local/cpanel/&lt;br /&gt;
 rsync -avz 192.168.1.122:/var/cpanel/ /var/cpanel&lt;br /&gt;
&lt;br /&gt;
 chkconfig cpanel off&lt;br /&gt;
 chkconfig exim off&lt;br /&gt;
 chkconfig dovecot off&lt;br /&gt;
 chkconfig pure-ftpd off&lt;br /&gt;
 chkconfig named off&lt;br /&gt;
 chkconfig mysql off&lt;br /&gt;
 chkconfig csf off&lt;br /&gt;
 chkconfig iptables off&lt;br /&gt;
&lt;br /&gt;
 hostname: /etc/sysconfig/network&lt;br /&gt;
&lt;br /&gt;
 change shared ip - You can change it in /etc/wwwacct.conf infront of ADDR parameter.&lt;br /&gt;
 change ip - Usage: /usr/local/cpanel/bin/setsiteip [-u user | domain] ip   (/etc/trueuserowners)&lt;br /&gt;
 rebuild httpd conf&lt;br /&gt;
 restart apache&lt;br /&gt;
&lt;br /&gt;
== Apache memory usage ==&lt;br /&gt;
&lt;br /&gt;
 ps -ylC httpd | awk &amp;#039;{x += $8;y += 1} END {print &amp;quot;Apache Memory Usage (MB): &amp;quot;x/1024; print &amp;quot;Average Proccess Size (MB): &amp;quot;x/((y-1)*1024)}&amp;#039;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Wordpress pingback ==&lt;br /&gt;
&lt;br /&gt;
Nginx:&lt;br /&gt;
&lt;br /&gt;
 # WordPress Pingback Request Denial&lt;br /&gt;
 if ($http_user_agent ~* &amp;quot;WordPress&amp;quot;) {&lt;br /&gt;
   return 403;&lt;br /&gt;
 }&lt;br /&gt;
&lt;br /&gt;
Apache:&lt;br /&gt;
&lt;br /&gt;
 BrowserMatchNoCase WordPress wordpress_ping&lt;br /&gt;
 BrowserMatchNoCase Wordpress wordpress_ping&lt;br /&gt;
 Order Deny,Allow&lt;br /&gt;
 Deny from env=wordpress_ping&lt;br /&gt;
&lt;br /&gt;
== Find big files and folders ==&lt;br /&gt;
&lt;br /&gt;
 find / -mount -type f -print0 2&amp;gt;/dev/null | xargs -0 du 2&amp;gt;/dev/null | grep -v &amp;quot;virtfs&amp;quot; | sort -n | tail -40 | cut -f2 | xargs -I{} du -sh 2&amp;gt;/dev/null {} | uniq; printf &amp;#039;+%.0s&amp;#039; {1..100}; echo; \&lt;br /&gt;
 find / -mount -type d -print0 2&amp;gt;/dev/null | xargs -0 du 2&amp;gt;/dev/null | grep -v &amp;quot;virtfs&amp;quot; | sort -n | tail -40 | cut -f2 | xargs -I{} du -sh 2&amp;gt;/dev/null {} | uniq; printf &amp;#039;+%.0s&amp;#039; {1..100}; echo; \&lt;br /&gt;
 du -sh /var/cpanel/user_notifications &amp;amp;&amp;amp; du -sh /backup/cpbackup/*/dirs/_var_cpanel/user_notifications&lt;br /&gt;
&lt;br /&gt;
== Rebuild Sophos when disk full ==&lt;br /&gt;
&lt;br /&gt;
 /etc/init.d/postgresql92 rebuild&lt;br /&gt;
&lt;br /&gt;
On older versions:&lt;br /&gt;
 /var/mdw/scripts/smtp stop&lt;br /&gt;
 dropdb -U postgres smtp&lt;br /&gt;
 createdb -U postgres smtp&lt;br /&gt;
 /var/mdw/scripts/smtp start&lt;br /&gt;
&lt;br /&gt;
== Clear allowed networks on Sophos ==&lt;br /&gt;
&lt;br /&gt;
Login to the Sophos&lt;br /&gt;
 Type ‘cc’&lt;br /&gt;
 In cc, you’ll be in MAIN, if not, type ‘MAIN’&lt;br /&gt;
 Type ‘webadmin&amp;#039;&lt;br /&gt;
 Type ‘allowed_networks@&amp;#039;&lt;br /&gt;
 =[&amp;#039;REF_NetworkAny&amp;#039;]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Most accessed sites in the last minute ==&lt;br /&gt;
&lt;br /&gt;
 cat &amp;lt;&amp;lt;&amp;#039;SCRIPT&amp;#039; &amp;gt;&amp;gt;/root/sitesLoad.sh&lt;br /&gt;
 &lt;br /&gt;
 #!/bin/bash&lt;br /&gt;
 &amp;lt;nowiki&amp;gt;if [[ `netstat -ntalp | grep :80 | awk &amp;#039;$4 ~ /:80/ {print $0;exit}&amp;#039; | grep -q httpd; echo $?` -ne 0 ]]; then echo &amp;quot;Main web server is not Apache. Exiting...&amp;quot;; exit 1; fi&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
 &lt;br /&gt;
 log=/tmp/hostPop&lt;br /&gt;
 i=0&lt;br /&gt;
 find /usr/local/apache/domlogs/ -type f -mmin -1 ! -group root -exec ls -l {} \+ | awk &amp;#039;{print $4, $9}&amp;#039; | column -t&amp;gt;$log&lt;br /&gt;
 &lt;br /&gt;
 while read line; do&lt;br /&gt;
 ((++i))&lt;br /&gt;
        arr[$i]=$i&lt;br /&gt;
        arr[$i*1000]=$(printf &amp;quot;$line&amp;quot; | awk &amp;#039;{print $1}&amp;#039;)&lt;br /&gt;
        arr[$i*1001]=$(printf &amp;quot;$line&amp;quot; | awk &amp;#039;{print $2}&amp;#039;)&lt;br /&gt;
        arr[$i*1002]=$(wc -l `echo $line | awk &amp;#039;{print $NF}&amp;#039;` | cut -d&amp;#039; &amp;#039; -f 1)&lt;br /&gt;
 done &amp;lt; &amp;lt;(cat $log)&lt;br /&gt;
 &lt;br /&gt;
 echo &amp;quot;Analyzing apache logs in realtime for 1 minute...&amp;quot;; sleep 60&lt;br /&gt;
 &lt;br /&gt;
 for (( var=1 ; var&amp;lt;=$i ; var++ ))&lt;br /&gt;
 do&lt;br /&gt;
        printf &amp;quot;${arr[$var*1000]} ${arr[$var*1001]} &amp;quot;&lt;br /&gt;
        echo $((`wc -l $(echo ${arr[$var*1001]}) | cut -d&amp;#039; &amp;#039; -f 1` - ${arr[$var*1002]}));&lt;br /&gt;
 done | sed -e &amp;#039;s/\/usr\/local\/apache\/domlogs\///g&amp;#039; | sort -nrk 3 | column -t&lt;br /&gt;
 &lt;br /&gt;
 SCRIPT&lt;br /&gt;
 chmod 700 /root/sitesLoad.sh &amp;amp;&amp;amp; /root/sitesLoad.sh&lt;br /&gt;
&lt;br /&gt;
== PHP.INI upload big files ==&lt;br /&gt;
&lt;br /&gt;
 ini_set(&amp;#039;upload_max_filesize&amp;#039;, &amp;#039;10M&amp;#039;);&lt;br /&gt;
 ini_set(&amp;#039;post_max_size&amp;#039;, &amp;#039;10M&amp;#039;);&lt;br /&gt;
 ini_set(&amp;#039;max_input_time&amp;#039;, 300);&lt;br /&gt;
 ini_set(&amp;#039;max_execution_time&amp;#039;, 300);&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Change permissions (chmod) to folders and files ==&lt;br /&gt;
&lt;br /&gt;
 find . -type d -exec chmod 755 {} +                  &lt;br /&gt;
 find . -type f -exec chmod 644 {} +                 &lt;br /&gt;
&lt;br /&gt;
== Disable IPv6 ==&lt;br /&gt;
&lt;br /&gt;
For current session:&lt;br /&gt;
 echo 1 &amp;gt; /proc/sys/net/ipv6/conf/&amp;lt;interface-name&amp;gt;/disable_ipv6&lt;br /&gt;
 echo 1 &amp;gt; /proc/sys/net/ipv6/conf/eth0/disable_ipv6&lt;br /&gt;
&lt;br /&gt;
Permanent:&lt;br /&gt;
 vi /etc/sysctl.conf&lt;br /&gt;
 net.ipv6.conf.all.disable_ipv6 = 1&lt;br /&gt;
 sudo sysctl -p /etc/sysctl.conf&lt;br /&gt;
&lt;br /&gt;
== Virtual box boot from USB ==&lt;br /&gt;
 VBoxManage internalcommands createrawvmdk -filename C:\usb.vmdk -rawdisk \\.\PhysicalDrive#&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== CSF GUI on ISPCONFIG 3 ==&lt;br /&gt;
Install old CSF (before 8.13)&lt;br /&gt;
&lt;br /&gt;
Copy the ISPCONFIG folder to /etc/csf/ and enable CSF in ISPCONFIG&lt;br /&gt;
&lt;br /&gt;
Backup csfui* files&lt;br /&gt;
&lt;br /&gt;
Upgrade CSF&lt;br /&gt;
&lt;br /&gt;
Copy backuped csfui* files back&lt;br /&gt;
&lt;br /&gt;
Run the following commands:&lt;br /&gt;
 sed -i &amp;#039;s/checkip/ConfigServer::CheckIP::checkip/g&amp;#039; /usr/local/csf/bin/csfui.pl&lt;br /&gt;
 sed -i &amp;#039;s/sanity(/ConfigServer::Sanity::sanity(/g&amp;#039; /usr/local/csf/bin/csfui.pl&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Max connections on Linux ==&lt;br /&gt;
&lt;br /&gt;
Add to /etc/sysctl.conf:&lt;br /&gt;
&lt;br /&gt;
 fs.file-max = 70000&lt;br /&gt;
 net.ipv4.tcp_tw_recycle=0&lt;br /&gt;
 net.ipv4.tcp_fin_timeout = 10&lt;br /&gt;
 net.ipv4.ip_local_port_range = 15000 61000&lt;br /&gt;
 net.core.somaxconn = 1024&lt;br /&gt;
 net.core.netdev_max_backlog = 2000&lt;br /&gt;
&lt;br /&gt;
== CSF configuration ==&lt;br /&gt;
&lt;br /&gt;
 ## Automated configuration:&lt;br /&gt;
 &lt;br /&gt;
 sed -i &amp;#039;s/TESTING = &amp;quot;1&amp;quot;/TESTING = &amp;quot;0&amp;quot;/&amp;#039; /etc/csf/csf.conf&lt;br /&gt;
 sed -i &amp;#039;s/RESTRICT_SYSLOG = &amp;quot;0&amp;quot;/RESTRICT_SYSLOG = &amp;quot;3&amp;quot;/&amp;#039; /etc/csf/csf.conf&lt;br /&gt;
 sed -i &amp;#039;s/IPV6 = &amp;quot;1&amp;quot;/IPV6 = &amp;quot;0&amp;quot;/&amp;#039; /etc/csf/csf.conf&lt;br /&gt;
 sed -i &amp;#039;s/IGNORE_ALLOW = &amp;quot;0&amp;quot;/IGNORE_ALLOW = &amp;quot;1&amp;quot;/&amp;#039; /etc/csf/csf.conf&lt;br /&gt;
 sed -i &amp;#039;s/CONNLIMIT = &amp;quot;&amp;quot;/CONNLIMIT = &amp;quot;22;5,80;70&amp;quot;/&amp;#039; /etc/csf/csf.conf&lt;br /&gt;
 sed -i &amp;#039;s/PORTFLOOD = &amp;quot;&amp;quot;/PORTFLOOD = &amp;quot;22;tcp;5;300,80;tcp;100;1,443;tcp;100;5&amp;quot;/&amp;#039; /etc/csf/csf.conf&lt;br /&gt;
 sed -i &amp;#039;s/CT_LIMIT = &amp;quot;0&amp;quot;/CT_LIMIT = &amp;quot;300&amp;quot;/&amp;#039; /etc/csf/csf.conf&lt;br /&gt;
  &lt;br /&gt;
 ## Disable LFD alerts: Only if you want to disable them!!&lt;br /&gt;
 &lt;br /&gt;
 sed -i &amp;#039;s/LF_EMAIL_ALERT = &amp;quot;1&amp;quot;/LF_EMAIL_ALERT = &amp;quot;0&amp;quot;/&amp;#039; /etc/csf/csf.conf&lt;br /&gt;
 sed -i &amp;#039;s/LF_SSH_EMAIL_ALERT = &amp;quot;1&amp;quot;/LF_SSH_EMAIL_ALERT = &amp;quot;0&amp;quot;/&amp;#039; /etc/csf/csf.conf&lt;br /&gt;
 sed -i &amp;#039;s/LF_SU_EMAIL_ALERT = &amp;quot;1&amp;quot;/LF_SU_EMAIL_ALERT = &amp;quot;0&amp;quot;/&amp;#039; /etc/csf/csf.conf&lt;br /&gt;
 sed -i &amp;#039;s/LF_WEBMIN_EMAIL_ALERT = &amp;quot;1&amp;quot;/LF_WEBMIN_EMAIL_ALERT = &amp;quot;0&amp;quot;/&amp;#039; /etc/csf/csf.conf&lt;br /&gt;
 sed -i &amp;#039;s/LF_CONSOLE_EMAIL_ALERT = &amp;quot;1&amp;quot;/LF_CONSOLE_EMAIL_ALERT = &amp;quot;0&amp;quot;/&amp;#039; /etc/csf/csf.conf&lt;br /&gt;
 sed -i &amp;#039;s/LT_EMAIL_ALERT = &amp;quot;1&amp;quot;/LT_EMAIL_ALERT = &amp;quot;0&amp;quot;/&amp;#039; /etc/csf/csf.conf&lt;br /&gt;
 sed -i &amp;#039;s/CT_EMAIL_ALERT = &amp;quot;1&amp;quot;/CT_EMAIL_ALERT = &amp;quot;0&amp;quot;/&amp;#039; /etc/csf/csf.conf&lt;br /&gt;
 sed -i &amp;#039;s/PS_EMAIL_ALERT = &amp;quot;1&amp;quot;/PS_EMAIL_ALERT = &amp;quot;0&amp;quot;/&amp;#039; /etc/csf/csf.conf&lt;br /&gt;
 &lt;br /&gt;
 ## Disable PT alerts: Only if you want to disable them!!&lt;br /&gt;
 &lt;br /&gt;
 sed -i &amp;#039;s/PT_USERPROC = &amp;quot;10&amp;quot;/PT_USERPROC = &amp;quot;0&amp;quot;/&amp;#039; /etc/csf/csf.conf&lt;br /&gt;
 sed -i &amp;#039;s/PT_USERMEM = &amp;quot;256&amp;quot;/PT_USERMEM = &amp;quot;0&amp;quot;/&amp;#039; /etc/csf/csf.conf&lt;br /&gt;
 sed -i &amp;#039;s/PT_USERTIME = &amp;quot;1800&amp;quot;/PT_USERTIME = &amp;quot;0&amp;quot;/&amp;#039; /etc/csf/csf.conf&lt;br /&gt;
 sed -i &amp;#039;s/PT_USERKILL_ALERT = &amp;quot;1&amp;quot;/PT_USERKILL_ALERT = &amp;quot;0&amp;quot;/&amp;#039; /etc/csf/csf.conf&lt;br /&gt;
 sed -i &amp;#039;s/PT_LOAD = &amp;quot;30&amp;quot;/PT_LOAD = &amp;quot;0&amp;quot;/&amp;#039; /etc/csf/csf.conf&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Rescan drives ==&lt;br /&gt;
&lt;br /&gt;
 echo &amp;quot;- - -&amp;quot; &amp;gt; /sys/class/scsi_host/host0/scan&lt;br /&gt;
&lt;br /&gt;
 echo 1 &amp;gt; /sys/class/scsi_device/2\:0\:0\:0/device/rescan&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Find PTR owner - reversal ==&lt;br /&gt;
&lt;br /&gt;
 dig 0.168.192.in-addr.arpa. NS&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Fix locales in Ubuntu ==&lt;br /&gt;
 locale-gen en_US.UTF-8&lt;br /&gt;
 dpkg-reconfigure locales&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Change permissions to all files and folders ==&lt;br /&gt;
 chown `stat -c %U .`.`stat -c %U .` * -R&lt;br /&gt;
&lt;br /&gt;
== Open last edited file ==&lt;br /&gt;
 less `ls -dx1tr /usr/local/cpanel/logs/cpbackup/*|tail -1`&lt;br /&gt;
&lt;br /&gt;
== Clear cache and swap ==&lt;br /&gt;
 echo 3 &amp;gt; /proc/sys/vm/drop_caches &amp;amp;&amp;amp; swapoff -a &amp;amp;&amp;amp; swapon -a&lt;br /&gt;
&lt;br /&gt;
== Disable core files in CPanel accounts ==&lt;br /&gt;
&lt;br /&gt;
Add this in /etc/sysctl.conf&lt;br /&gt;
 kernel.core_uses_pid = 0&lt;br /&gt;
 kernel.core_pattern = /dev/null&lt;br /&gt;
&lt;br /&gt;
And run:&lt;br /&gt;
 sysctl -p&lt;br /&gt;
&lt;br /&gt;
== Add HSTS support in CPANEL ==&lt;br /&gt;
 cp -p /var/cpanel/templates/apache2_4/ssl_vhost.default /var/cpanel/templates/apache2_4/ssl_vhost.local&lt;br /&gt;
 vi /var/cpanel/templates/apache2_4/ssl_vhost.local&lt;br /&gt;
&lt;br /&gt;
Edit:&lt;br /&gt;
 &amp;lt;VirtualHost[% FOREACH ipblock IN vhost.ips %] [% ipblock.ip %]:[% ipblock.port %][% END %]&amp;gt;&lt;br /&gt;
  # Enable HTTP Strict Transport Security&lt;br /&gt;
  Header always set Strict-Transport-Security &amp;quot;max-age=63072000; includeSubdomains;&amp;quot;&lt;br /&gt;
&lt;br /&gt;
 cp -p /var/cpanel/templates/apache2_4/main.default /var/cpanel/templates/apache2_4/main.local&lt;br /&gt;
 vi /var/cpanel/templates/apache2_4/main.local&lt;br /&gt;
&lt;br /&gt;
Edit:&lt;br /&gt;
 [% IF main.sslprotocol.item.sslprotocol.length %]SSLProtocol [% main.sslprotocol.item.sslprotocol %][% END %]&lt;br /&gt;
 SSLHonorCipherOrder on&lt;br /&gt;
&lt;br /&gt;
Run:&lt;br /&gt;
 /scripts/rebuildhttpdconf&lt;br /&gt;
 service httpd restart&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Install mod_pagespeed on WHM ==&lt;br /&gt;
&lt;br /&gt;
With EA3:&lt;br /&gt;
 /usr/local/cpanel/3rdparty/bin/git clone https://github.com/pagespeed/cpanel.git /tmp/pagespeed/&lt;br /&gt;
 cd /tmp/pagespeed/Easy&lt;br /&gt;
 tar -zcvf Speed.pm.tar.gz pagespeed&lt;br /&gt;
 mkdir -p /var/cpanel/easy/apache/custom_opt_mods/Cpanel/Easy&lt;br /&gt;
 mv Speed.pm Speed.pm.tar.gz -t /var/cpanel/easy/apache/custom_opt_mods/Cpanel/Easy/&lt;br /&gt;
 cd &amp;amp;&amp;amp; rm -rf /tmp/pagespeed&lt;br /&gt;
&lt;br /&gt;
With EA4:&lt;br /&gt;
&lt;br /&gt;
Create file /etc/rpm/macros.apache2 and add the following lines of code exactly as below&lt;br /&gt;
 %_httpd_mmn 20120211x8664&lt;br /&gt;
 %_httpd_apxs /usr/bin/apxs&lt;br /&gt;
 %_httpd_dir /etc/apache2&lt;br /&gt;
 %_httpd_bindir %{_httpd_dir}/bin&lt;br /&gt;
 %_httpd_modconfdir %{_httpd_dir}/conf.modules.d&lt;br /&gt;
 %_httpd_confdir %{_httpd_dir}/conf.d&lt;br /&gt;
 %_httpd_contentdir /usr/share/apache2&lt;br /&gt;
 %_httpd_moddir /usr/lib64/apache2/modules&lt;br /&gt;
&lt;br /&gt;
Next run the following commands in order, make sure you run each command on it’s own&lt;br /&gt;
 rm -rf /root/rpmbuild/RPMS/x86_64/&lt;br /&gt;
 wget https://github.com/pagespeed/cpanel/raw/master/EA4/ea-apache24-mod_pagespeed-latest-stable.src.rpm&lt;br /&gt;
 rpmbuild --rebuild ea-apache24-mod_pagespeed-latest-stable.src.rpm&lt;br /&gt;
 rpm -Uvh /root/rpmbuild/RPMS/x86_64/ea-apache24-mod_pagespeed*.rpm&lt;br /&gt;
 /etc/init.d/httpd restart&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Resize root partition without reboot ==&lt;br /&gt;
&lt;br /&gt;
Resize HD size in VC&lt;br /&gt;
Run: (replace the device if needed)&lt;br /&gt;
 echo 1 &amp;gt; /sys/class/scsi_device/2\:0\:0\:0/device/rescan&lt;br /&gt;
 run fdisk:&lt;br /&gt;
print the old partition and save the output&lt;br /&gt;
delete the root partition&lt;br /&gt;
create a new partition using the SAME start block and make sure that the end block is higher than previous one (enter, enter, enter…)&lt;br /&gt;
write changes (ignore error)&lt;br /&gt;
run:&lt;br /&gt;
 partx -u /dev/sda&lt;br /&gt;
 resize2fs -f /dev/sda3&lt;br /&gt;
Make sure everything is OK:&lt;br /&gt;
 df -h&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Delete files with a large file list - Argument list too long ==&lt;br /&gt;
 find . -name &amp;#039;*&amp;#039;|xargs rm&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Show all domains in NGINX configuration ==&lt;br /&gt;
&lt;br /&gt;
 grep -e &amp;quot;^\s*server_name&amp;quot; /etc/nginx/conf.d/*|sed -e &amp;#039;s/[\t ]*server_name//g;&amp;#039;|sed -e &amp;quot;s/ /\+/g&amp;quot;|sed -e &amp;#039;s/;//g&amp;#039;|while read line; do for i in $line; do echo -n &amp;quot;$i &amp;quot;|sed -e &amp;#039;s/://&amp;#039;  -e &amp;#039;s/\+/\n  |--/g&amp;#039;; done ;echo; done; echo&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Kill process that runs more than X time ==&lt;br /&gt;
&lt;br /&gt;
Kill cgi after 30 secs:&lt;br /&gt;
 for i in `ps -eo pid,etime,cmd|grep cgi|awk &amp;#039;$2 &amp;gt; &amp;quot;00:30&amp;quot; {print $1}&amp;#039;`; do kill $i; done&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Unblock Invalid packets in CSF ==&lt;br /&gt;
 # Drop out of order packets and packets in an INVALID state in iptables&lt;br /&gt;
 # connection tracking&lt;br /&gt;
 PACKET_FILTER = &amp;quot;0&amp;quot;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Who uses RAM ==&lt;br /&gt;
&lt;br /&gt;
 ps aux  | awk &amp;#039;{print $6/1024 &amp;quot; MB\t\t&amp;quot; $11}&amp;#039;  | sort -n&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Fix WHM/CPanel templates  ==&lt;br /&gt;
&lt;br /&gt;
 cp /usr/local/apache/conf/httpd.conf{,.cptech-`date +%Y%m%d`}&lt;br /&gt;
 mv /var/cpanel/templates/apache2_4/vhost.local /var/cpanel/templates/apache2_4/vhost.local.bak&lt;br /&gt;
 mv /var/cpanel/templates/apache2_4/ssl_vhost.local /var/cpanel/templates/apache2_4/ssl_vhost.local.bak&lt;br /&gt;
 /scripts/rebuildhttpdconf&lt;br /&gt;
 /scripts/restartsrv_httpd&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Fix NFS mount on boot - Centos 7 ==&lt;br /&gt;
&lt;br /&gt;
Append text to the end of /usr/lib/systemd/system/nfs-idmap.service&lt;br /&gt;
 [Install]&lt;br /&gt;
 WantedBy=multi-user.target&lt;br /&gt;
&lt;br /&gt;
Append text to the end of /usr/lib/systemd/system/nfs-lock.service&lt;br /&gt;
 [Install]&lt;br /&gt;
 WantedBy=nfs.target&lt;br /&gt;
&lt;br /&gt;
Enable related services&lt;br /&gt;
&lt;br /&gt;
 systemctl enable nfs-idmapd.service &lt;br /&gt;
 systemctl enable rpc-statd.service &lt;br /&gt;
 systemctl enable rpcbind.socket&lt;br /&gt;
&lt;br /&gt;
Reboot the server&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Login to WHM with link ==&lt;br /&gt;
&lt;br /&gt;
 whmapi1 create_user_session user=root service=whostmgrd locale=en&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Update date and time on Linux server ==&lt;br /&gt;
&lt;br /&gt;
 sudo ntpd -qg; sudo hwclock -w&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Clone Linux user ==&lt;br /&gt;
&lt;br /&gt;
 #!/bin/bash&lt;br /&gt;
 SRC=$1&lt;br /&gt;
 DEST=$2&lt;br /&gt;
 &lt;br /&gt;
 SRC_GROUPS=$(id -Gn ${SRC} | sed &amp;quot;s/${SRC} //g&amp;quot; | sed &amp;quot;s/ ${SRC}//g&amp;quot; | sed &amp;quot;s/ /,/g&amp;quot;)&lt;br /&gt;
 SRC_SHELL=$(awk -F : -v name=${SRC} &amp;#039;(name == $1) { print $7 }&amp;#039; /etc/passwd)&lt;br /&gt;
 &lt;br /&gt;
 useradd --groups ${SRC_GROUPS} --shell ${SRC_SHELL} --create-home ${DEST}&lt;br /&gt;
 passwd ${DEST}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Reload VM after UUID change ==&lt;br /&gt;
&lt;br /&gt;
 vim-cmd vmsvc/getallvms&lt;br /&gt;
 vim-cmd vmsvc/reload $vmID&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Size of suspended accounts in WHM ==&lt;br /&gt;
 for i in `whmapi1 listsuspended|grep user|cut -d: -f2`; do echo &amp;quot;Suspended account: $i - using&amp;quot; `whmapi1 listaccts search=$i searchtype=user|grep diskused|cut -d: -f2`; done&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Clear BOOT on Ubuntu when 100% ==&lt;br /&gt;
 dpkg --purge `dpkg --list|grep &amp;quot;linux-&amp;quot;|grep -v \`uname -r|sed &amp;#039;s/-generic//g&amp;#039;\`|cut -d&amp;quot; &amp;quot; -f3|grep &amp;quot;[0-9]-&amp;quot;|paste -sd &amp;quot; &amp;quot; -`&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== One-time login to wordpress ==&lt;br /&gt;
&lt;br /&gt;
Install wp cli:&lt;br /&gt;
&lt;br /&gt;
 curl -O https://raw.githubusercontent.com/wp-cli/builds/gh-pages/phar/wp-cli.phar&lt;br /&gt;
 chmod +x wp-cli.phar&lt;br /&gt;
 mv wp-cli.phar /usr/local/bin/wp&lt;br /&gt;
&lt;br /&gt;
Run from the WordPress installed location:&lt;br /&gt;
&lt;br /&gt;
 useradmin=`wp user list --role=administrator --format=csv --allow-root | cut -d&amp;#039;,&amp;#039; -f2 | head -2 | tail -1` &amp;amp;&amp;amp;  wp plugin install one-time-login --activate --allow-root &amp;amp;&amp;amp; wp user one-time-login $useradmin --allow-root &amp;amp;&amp;amp; user=$(stat -c &amp;quot;%U&amp;quot; `pwd`) &amp;amp;&amp;amp; chown $user.$user wp-content/ -R&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Cpanel resources consumption history per user ==&lt;br /&gt;
 &amp;lt;nowiki&amp;gt;OUT=$(/usr/local/cpanel/bin/dcpumonview | grep -v Top | sed -e &amp;#039;s#&amp;lt;[^&amp;gt;]*&amp;gt;# #g&amp;#039; | while read i ; do NF=`echo $i | awk {&amp;#039;print NF&amp;#039;}` ; if [[ &amp;quot;$NF&amp;quot; == &amp;quot;5&amp;quot; ]] ; then USER=`echo $i | awk {&amp;#039;print $1&amp;#039;}`; OWNER=`grep -e &amp;quot;^OWNER=&amp;quot; /var/cpanel/users/$USER | cut -d= -f2` ; echo &amp;quot;$OWNER $i&amp;quot;; fi ; done) ; (echo &amp;quot;USER CPU&amp;quot; ; echo &amp;quot;$OUT&amp;quot; | sort -nrk4 | awk &amp;#039;{printf &amp;quot;%s %s%\n&amp;quot;,$2,$4}&amp;#039; | head -5) | column -t ;echo;(echo -e &amp;quot;USER MEMORY&amp;quot; ; echo &amp;quot;$OUT&amp;quot; | sort -nrk5 | awk &amp;#039;{printf &amp;quot;%s %s%\n&amp;quot;,$2,$5}&amp;#039; | head -5) | column -t ;echo;(echo -e &amp;quot;USER MYSQL&amp;quot; ; echo &amp;quot;$OUT&amp;quot; | sort -nrk6 | awk &amp;#039;{printf &amp;quot;%s %s%\n&amp;quot;,$2,$6}&amp;#039; | head -5) | column -t ; &amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Engintron generate custom_rules for all domains on the server. ==&lt;br /&gt;
 ip=`hostname -i` &amp;amp;&amp;amp; for domain in `httpd -S |  grep www. | awk -F &amp;#039;www.&amp;#039; &amp;#039;{print $2}&amp;#039;`;do printf &amp;quot;if ( \$host ~ \&amp;quot;%s\&amp;quot;) {set \$PROXY_DOMAIN_OR_IP \&amp;quot;$ip\&amp;quot;;}\n&amp;quot; $domain ;done &amp;gt;&amp;gt; /etc/nginx/custom_rules &amp;amp;&amp;amp; service nginx reload&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Fix Installatron - error 500 or missing list/install ==&lt;br /&gt;
 /usr/local/installatron/repair -f --release --quick&lt;br /&gt;
[https://installatron.com/docs/admin/troubleshooting#missinginstalls Installatron FIX]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Find root of a site and CD to it ==&lt;br /&gt;
&lt;br /&gt;
Replace domain.com with desired domain&lt;br /&gt;
 cd `grep &amp;quot;domain.com&amp;quot; /etc/apache2/conf/httpd.conf -A7|grep Root|head -1|awk &amp;#039;{print $2}&amp;#039;`&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Generate CSR with OPENSSL ==&lt;br /&gt;
&lt;br /&gt;
Generate key:&lt;br /&gt;
 openssl genrsa -out private.key 2048&lt;br /&gt;
&lt;br /&gt;
Gemnerate CSR:&lt;br /&gt;
 openssl req -new -sha256 -key private.key -out mycsr.csr&lt;br /&gt;
&lt;br /&gt;
== Links ==&lt;br /&gt;
Installing Redis: [https://troubleshootguru.wordpress.com/2014/11/19/how-to-install-redis-on-a-centos-6-5-centos-7-0-server-2/] [https://www.fastcomet.com/community/question/wordpress-caching-with-redis-centos-cpanel/] [https://nixtree.com/blog/install-redis-daemon-and-redis-php-extention-on-centosrhelcpanel/]&lt;br /&gt;
&lt;br /&gt;
Windows images [http://torrent-win.net/windows_original/]&lt;br /&gt;
&lt;br /&gt;
Github: [https://github.com/romanost Github]&lt;br /&gt;
&lt;br /&gt;
Arista: [https://www.arista.com/assets/data/docs/Manuals/EOS-4.17.0F-Manual.pdf Manual] [https://www.arista.com/en/um-eos/eos-section-3-10-command-line-interface-commands CLI]&lt;br /&gt;
&lt;br /&gt;
VMware converter old version [http://soft.assenov.net/software/index.php?dir=VMWare/ Link]&lt;br /&gt;
&lt;br /&gt;
GEOip on EA4 [https://grepitout.com/install-mod_geoip-cpanel-easyapache-4/ link]&lt;br /&gt;
&lt;br /&gt;
PHP Malware finder [https://github.com/nbs-system/php-malware-finder link]&lt;br /&gt;
&lt;br /&gt;
Ahsay on QNAP patch [http://wiki.ahsay.com/doku.php?id=public:5356_no_suitable_python_found_for_arm-x41_installation_issue_on_qnap link]&lt;br /&gt;
&lt;br /&gt;
Kubernetes cheat sheet [https://linuxacademy.com/blog/containers/kubernetes-cheat-sheet/ link]&lt;br /&gt;
&lt;br /&gt;
Kubernetes Essentials [https://medium.com/devopslinks/kubernetes-essentials-282ac9951542 link]&lt;/div&gt;</summary>
		<author><name>Meadmin</name></author>	</entry>

	<entry>
		<id>https://mywiki.romanost.co.il/index.php?title=Linux&amp;diff=65</id>
		<title>Linux</title>
		<link rel="alternate" type="text/html" href="https://mywiki.romanost.co.il/index.php?title=Linux&amp;diff=65"/>
				<updated>2019-04-08T05:41:54Z</updated>
		
		<summary type="html">&lt;p&gt;Meadmin: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&lt;br /&gt;
== Wordpress login attack check ==&lt;br /&gt;
&lt;br /&gt;
 &amp;#039;&amp;#039;&amp;#039;Crontab :&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
 0 */6 * * *  sh /root/wplogin.sh&lt;br /&gt;
 &lt;br /&gt;
 &amp;#039;&amp;#039;&amp;#039;Script :&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
 #!/bin/bash&lt;br /&gt;
 &lt;br /&gt;
 ###start editing&lt;br /&gt;
 thold=&amp;quot;100&amp;quot;&lt;br /&gt;
 btime=&amp;quot;359m&amp;quot;&lt;br /&gt;
 ###stop editing&lt;br /&gt;
 &lt;br /&gt;
 egrep &amp;#039;wp-login.php&amp;#039; /usr/local/apache/domlogs/* | grep -v ftp_log | awk -F : &amp;#039;{print $2}&amp;#039; | awk &amp;#039;{print $1}&amp;#039; | sort | uniq -c | sort -n | awk -v limit=&amp;quot;$thold&amp;quot; &amp;#039;$1 &amp;gt; limit{print $2}&amp;#039; &amp;gt; $$_ip_$$&lt;br /&gt;
 &lt;br /&gt;
 while IFS= read -r line&lt;br /&gt;
         do&lt;br /&gt;
                 /usr/sbin/csf -td &amp;quot;$line&amp;quot;  &amp;quot;$btime&amp;quot; &amp;quot;banned for wordpress attack&amp;quot;&lt;br /&gt;
         done &amp;lt; $$_ip_$$&lt;br /&gt;
 rm -f $$_ip_$$&lt;br /&gt;
&lt;br /&gt;
== Prevent OOM killer ==&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Edit file /etc/sysctl.conf&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
 &lt;br /&gt;
 vm.overcommit_memory = 2 &lt;br /&gt;
 vm.overcommit_ratio = 100&lt;br /&gt;
&lt;br /&gt;
In case of bad memory usage (php out of memory) use this settings:&lt;br /&gt;
&lt;br /&gt;
 vm.overcommit_memory = 0&lt;br /&gt;
 vm.overcommit_ratio = 80&lt;br /&gt;
&lt;br /&gt;
== Who is using SWAP ==&lt;br /&gt;
 grep VmSwap /proc/*/status 2&amp;gt;/dev/null | sort -nk2 | tail -n5&lt;br /&gt;
&lt;br /&gt;
Print with the process command:&lt;br /&gt;
 grep VmSwap /proc/*/status 2&amp;gt;/dev/null | sort -nk2 | tail -n5|awk -F&amp;#039;/&amp;#039; &amp;#039;{cmd=&amp;quot;cat /proc/&amp;quot; $3 &amp;quot;/cmdline&amp;quot;; cmd|getline var; close (cmd); printf $0 &amp;quot;\t&amp;quot;; print var}&amp;#039;  &lt;br /&gt;
&lt;br /&gt;
== Plesk on CentOS 12 bind fix ==&lt;br /&gt;
&lt;br /&gt;
The problem was nginx was attempting to bind to port 443 before the IP was initialized.&lt;br /&gt;
&lt;br /&gt;
To fix edit the /etx/sysctl.conf file and add &lt;br /&gt;
 net.ipv4.ip_nonlocal_bind = 1&lt;br /&gt;
&lt;br /&gt;
== WHM replica ==&lt;br /&gt;
&lt;br /&gt;
 rsync -avz 192.168.1.122:/home/ /home/ --exclude=&amp;quot;virtfs&amp;quot; --exclude=&amp;quot;\.cp*&amp;quot; --exclude=&amp;quot;cpeasyapache&amp;quot; &lt;br /&gt;
 rsync -avz 192.168.1.122:/usr/local/apache/conf/ /usr/local/apache/conf/&lt;br /&gt;
 rsync -avz 192.168.1.122:/var/named/ /var/named/&lt;br /&gt;
 rsync -avz 192.168.1.122:/usr/local/cpanel/ /usr/local/cpanel/&lt;br /&gt;
 rsync -avz 192.168.1.122:/var/cpanel/ /var/cpanel&lt;br /&gt;
&lt;br /&gt;
 chkconfig cpanel off&lt;br /&gt;
 chkconfig exim off&lt;br /&gt;
 chkconfig dovecot off&lt;br /&gt;
 chkconfig pure-ftpd off&lt;br /&gt;
 chkconfig named off&lt;br /&gt;
 chkconfig mysql off&lt;br /&gt;
 chkconfig csf off&lt;br /&gt;
 chkconfig iptables off&lt;br /&gt;
&lt;br /&gt;
 hostname: /etc/sysconfig/network&lt;br /&gt;
&lt;br /&gt;
 change shared ip - You can change it in /etc/wwwacct.conf infront of ADDR parameter.&lt;br /&gt;
 change ip - Usage: /usr/local/cpanel/bin/setsiteip [-u user | domain] ip   (/etc/trueuserowners)&lt;br /&gt;
 rebuild httpd conf&lt;br /&gt;
 restart apache&lt;br /&gt;
&lt;br /&gt;
== Apache memory usage ==&lt;br /&gt;
&lt;br /&gt;
 ps -ylC httpd | awk &amp;#039;{x += $8;y += 1} END {print &amp;quot;Apache Memory Usage (MB): &amp;quot;x/1024; print &amp;quot;Average Proccess Size (MB): &amp;quot;x/((y-1)*1024)}&amp;#039;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Wordpress pingback ==&lt;br /&gt;
&lt;br /&gt;
Nginx:&lt;br /&gt;
&lt;br /&gt;
 # WordPress Pingback Request Denial&lt;br /&gt;
 if ($http_user_agent ~* &amp;quot;WordPress&amp;quot;) {&lt;br /&gt;
   return 403;&lt;br /&gt;
 }&lt;br /&gt;
&lt;br /&gt;
Apache:&lt;br /&gt;
&lt;br /&gt;
 BrowserMatchNoCase WordPress wordpress_ping&lt;br /&gt;
 BrowserMatchNoCase Wordpress wordpress_ping&lt;br /&gt;
 Order Deny,Allow&lt;br /&gt;
 Deny from env=wordpress_ping&lt;br /&gt;
&lt;br /&gt;
== Find big files and folders ==&lt;br /&gt;
&lt;br /&gt;
 find / -mount -type f -print0 2&amp;gt;/dev/null | xargs -0 du 2&amp;gt;/dev/null | grep -v &amp;quot;virtfs&amp;quot; | sort -n | tail -40 | cut -f2 | xargs -I{} du -sh 2&amp;gt;/dev/null {} | uniq; printf &amp;#039;+%.0s&amp;#039; {1..100}; echo; \&lt;br /&gt;
 find / -mount -type d -print0 2&amp;gt;/dev/null | xargs -0 du 2&amp;gt;/dev/null | grep -v &amp;quot;virtfs&amp;quot; | sort -n | tail -40 | cut -f2 | xargs -I{} du -sh 2&amp;gt;/dev/null {} | uniq; printf &amp;#039;+%.0s&amp;#039; {1..100}; echo; \&lt;br /&gt;
 du -sh /var/cpanel/user_notifications &amp;amp;&amp;amp; du -sh /backup/cpbackup/*/dirs/_var_cpanel/user_notifications&lt;br /&gt;
&lt;br /&gt;
== Rebuild Sophos when disk full ==&lt;br /&gt;
&lt;br /&gt;
 /etc/init.d/postgresql92 rebuild&lt;br /&gt;
&lt;br /&gt;
On older versions:&lt;br /&gt;
 /var/mdw/scripts/smtp stop&lt;br /&gt;
 dropdb -U postgres smtp&lt;br /&gt;
 createdb -U postgres smtp&lt;br /&gt;
 /var/mdw/scripts/smtp start&lt;br /&gt;
&lt;br /&gt;
== Clear allowed networks on Sophos ==&lt;br /&gt;
&lt;br /&gt;
Login to the Sophos&lt;br /&gt;
 Type ‘cc’&lt;br /&gt;
 In cc, you’ll be in MAIN, if not, type ‘MAIN’&lt;br /&gt;
 Type ‘webadmin&amp;#039;&lt;br /&gt;
 Type ‘allowed_networks@&amp;#039;&lt;br /&gt;
 =[&amp;#039;REF_NetworkAny&amp;#039;]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Most accessed sites in the last minute ==&lt;br /&gt;
&lt;br /&gt;
 cat &amp;lt;&amp;lt;&amp;#039;SCRIPT&amp;#039; &amp;gt;&amp;gt;/root/sitesLoad.sh&lt;br /&gt;
 &lt;br /&gt;
 #!/bin/bash&lt;br /&gt;
 &amp;lt;nowiki&amp;gt;if [[ `netstat -ntalp | grep :80 | awk &amp;#039;$4 ~ /:80/ {print $0;exit}&amp;#039; | grep -q httpd; echo $?` -ne 0 ]]; then echo &amp;quot;Main web server is not Apache. Exiting...&amp;quot;; exit 1; fi&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
 &lt;br /&gt;
 log=/tmp/hostPop&lt;br /&gt;
 i=0&lt;br /&gt;
 find /usr/local/apache/domlogs/ -type f -mmin -1 ! -group root -exec ls -l {} \+ | awk &amp;#039;{print $4, $9}&amp;#039; | column -t&amp;gt;$log&lt;br /&gt;
 &lt;br /&gt;
 while read line; do&lt;br /&gt;
 ((++i))&lt;br /&gt;
        arr[$i]=$i&lt;br /&gt;
        arr[$i*1000]=$(printf &amp;quot;$line&amp;quot; | awk &amp;#039;{print $1}&amp;#039;)&lt;br /&gt;
        arr[$i*1001]=$(printf &amp;quot;$line&amp;quot; | awk &amp;#039;{print $2}&amp;#039;)&lt;br /&gt;
        arr[$i*1002]=$(wc -l `echo $line | awk &amp;#039;{print $NF}&amp;#039;` | cut -d&amp;#039; &amp;#039; -f 1)&lt;br /&gt;
 done &amp;lt; &amp;lt;(cat $log)&lt;br /&gt;
 &lt;br /&gt;
 echo &amp;quot;Analyzing apache logs in realtime for 1 minute...&amp;quot;; sleep 60&lt;br /&gt;
 &lt;br /&gt;
 for (( var=1 ; var&amp;lt;=$i ; var++ ))&lt;br /&gt;
 do&lt;br /&gt;
        printf &amp;quot;${arr[$var*1000]} ${arr[$var*1001]} &amp;quot;&lt;br /&gt;
        echo $((`wc -l $(echo ${arr[$var*1001]}) | cut -d&amp;#039; &amp;#039; -f 1` - ${arr[$var*1002]}));&lt;br /&gt;
 done | sed -e &amp;#039;s/\/usr\/local\/apache\/domlogs\///g&amp;#039; | sort -nrk 3 | column -t&lt;br /&gt;
 &lt;br /&gt;
 SCRIPT&lt;br /&gt;
 chmod 700 /root/sitesLoad.sh &amp;amp;&amp;amp; /root/sitesLoad.sh&lt;br /&gt;
&lt;br /&gt;
== PHP.INI upload big files ==&lt;br /&gt;
&lt;br /&gt;
 ini_set(&amp;#039;upload_max_filesize&amp;#039;, &amp;#039;10M&amp;#039;);&lt;br /&gt;
 ini_set(&amp;#039;post_max_size&amp;#039;, &amp;#039;10M&amp;#039;);&lt;br /&gt;
 ini_set(&amp;#039;max_input_time&amp;#039;, 300);&lt;br /&gt;
 ini_set(&amp;#039;max_execution_time&amp;#039;, 300);&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Change permissions (chmod) to folders and files ==&lt;br /&gt;
&lt;br /&gt;
 find . -type d -exec chmod 755 {} +                  &lt;br /&gt;
 find . -type f -exec chmod 644 {} +                 &lt;br /&gt;
&lt;br /&gt;
== Disable IPv6 ==&lt;br /&gt;
&lt;br /&gt;
For current session:&lt;br /&gt;
 echo 1 &amp;gt; /proc/sys/net/ipv6/conf/&amp;lt;interface-name&amp;gt;/disable_ipv6&lt;br /&gt;
 echo 1 &amp;gt; /proc/sys/net/ipv6/conf/eth0/disable_ipv6&lt;br /&gt;
&lt;br /&gt;
Permanent:&lt;br /&gt;
 vi /etc/sysctl.conf&lt;br /&gt;
 net.ipv6.conf.all.disable_ipv6 = 1&lt;br /&gt;
 sudo sysctl -p /etc/sysctl.conf&lt;br /&gt;
&lt;br /&gt;
== Virtual box boot from USB ==&lt;br /&gt;
 VBoxManage internalcommands createrawvmdk -filename C:\usb.vmdk -rawdisk \\.\PhysicalDrive#&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== CSF GUI on ISPCONFIG 3 ==&lt;br /&gt;
Install old CSF (before 8.13)&lt;br /&gt;
&lt;br /&gt;
Copy the ISPCONFIG folder to /etc/csf/ and enable CSF in ISPCONFIG&lt;br /&gt;
&lt;br /&gt;
Backup csfui* files&lt;br /&gt;
&lt;br /&gt;
Upgrade CSF&lt;br /&gt;
&lt;br /&gt;
Copy backuped csfui* files back&lt;br /&gt;
&lt;br /&gt;
Run the following commands:&lt;br /&gt;
 sed -i &amp;#039;s/checkip/ConfigServer::CheckIP::checkip/g&amp;#039; /usr/local/csf/bin/csfui.pl&lt;br /&gt;
 sed -i &amp;#039;s/sanity(/ConfigServer::Sanity::sanity(/g&amp;#039; /usr/local/csf/bin/csfui.pl&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Max connections on Linux ==&lt;br /&gt;
&lt;br /&gt;
Add to /etc/sysctl.conf:&lt;br /&gt;
&lt;br /&gt;
 fs.file-max = 70000&lt;br /&gt;
 net.ipv4.tcp_tw_recycle=0&lt;br /&gt;
 net.ipv4.tcp_fin_timeout = 10&lt;br /&gt;
 net.ipv4.ip_local_port_range = 15000 61000&lt;br /&gt;
 net.core.somaxconn = 1024&lt;br /&gt;
 net.core.netdev_max_backlog = 2000&lt;br /&gt;
&lt;br /&gt;
== CSF configuration ==&lt;br /&gt;
&lt;br /&gt;
 ## Automated configuration:&lt;br /&gt;
 &lt;br /&gt;
 sed -i &amp;#039;s/TESTING = &amp;quot;1&amp;quot;/TESTING = &amp;quot;0&amp;quot;/&amp;#039; /etc/csf/csf.conf&lt;br /&gt;
 sed -i &amp;#039;s/RESTRICT_SYSLOG = &amp;quot;0&amp;quot;/RESTRICT_SYSLOG = &amp;quot;3&amp;quot;/&amp;#039; /etc/csf/csf.conf&lt;br /&gt;
 sed -i &amp;#039;s/IPV6 = &amp;quot;1&amp;quot;/IPV6 = &amp;quot;0&amp;quot;/&amp;#039; /etc/csf/csf.conf&lt;br /&gt;
 sed -i &amp;#039;s/IGNORE_ALLOW = &amp;quot;0&amp;quot;/IGNORE_ALLOW = &amp;quot;1&amp;quot;/&amp;#039; /etc/csf/csf.conf&lt;br /&gt;
 sed -i &amp;#039;s/CONNLIMIT = &amp;quot;&amp;quot;/CONNLIMIT = &amp;quot;22;5,80;70&amp;quot;/&amp;#039; /etc/csf/csf.conf&lt;br /&gt;
 sed -i &amp;#039;s/PORTFLOOD = &amp;quot;&amp;quot;/PORTFLOOD = &amp;quot;22;tcp;5;300,80;tcp;100;1,443;tcp;100;5&amp;quot;/&amp;#039; /etc/csf/csf.conf&lt;br /&gt;
 sed -i &amp;#039;s/CT_LIMIT = &amp;quot;0&amp;quot;/CT_LIMIT = &amp;quot;300&amp;quot;/&amp;#039; /etc/csf/csf.conf&lt;br /&gt;
  &lt;br /&gt;
 ## Disable LFD alerts: Only if you want to disable them!!&lt;br /&gt;
 &lt;br /&gt;
 sed -i &amp;#039;s/LF_EMAIL_ALERT = &amp;quot;1&amp;quot;/LF_EMAIL_ALERT = &amp;quot;0&amp;quot;/&amp;#039; /etc/csf/csf.conf&lt;br /&gt;
 sed -i &amp;#039;s/LF_SSH_EMAIL_ALERT = &amp;quot;1&amp;quot;/LF_SSH_EMAIL_ALERT = &amp;quot;0&amp;quot;/&amp;#039; /etc/csf/csf.conf&lt;br /&gt;
 sed -i &amp;#039;s/LF_SU_EMAIL_ALERT = &amp;quot;1&amp;quot;/LF_SU_EMAIL_ALERT = &amp;quot;0&amp;quot;/&amp;#039; /etc/csf/csf.conf&lt;br /&gt;
 sed -i &amp;#039;s/LF_WEBMIN_EMAIL_ALERT = &amp;quot;1&amp;quot;/LF_WEBMIN_EMAIL_ALERT = &amp;quot;0&amp;quot;/&amp;#039; /etc/csf/csf.conf&lt;br /&gt;
 sed -i &amp;#039;s/LF_CONSOLE_EMAIL_ALERT = &amp;quot;1&amp;quot;/LF_CONSOLE_EMAIL_ALERT = &amp;quot;0&amp;quot;/&amp;#039; /etc/csf/csf.conf&lt;br /&gt;
 sed -i &amp;#039;s/LT_EMAIL_ALERT = &amp;quot;1&amp;quot;/LT_EMAIL_ALERT = &amp;quot;0&amp;quot;/&amp;#039; /etc/csf/csf.conf&lt;br /&gt;
 sed -i &amp;#039;s/CT_EMAIL_ALERT = &amp;quot;1&amp;quot;/CT_EMAIL_ALERT = &amp;quot;0&amp;quot;/&amp;#039; /etc/csf/csf.conf&lt;br /&gt;
 sed -i &amp;#039;s/PS_EMAIL_ALERT = &amp;quot;1&amp;quot;/PS_EMAIL_ALERT = &amp;quot;0&amp;quot;/&amp;#039; /etc/csf/csf.conf&lt;br /&gt;
 &lt;br /&gt;
 ## Disable PT alerts: Only if you want to disable them!!&lt;br /&gt;
 &lt;br /&gt;
 sed -i &amp;#039;s/PT_USERPROC = &amp;quot;10&amp;quot;/PT_USERPROC = &amp;quot;0&amp;quot;/&amp;#039; /etc/csf/csf.conf&lt;br /&gt;
 sed -i &amp;#039;s/PT_USERMEM = &amp;quot;256&amp;quot;/PT_USERMEM = &amp;quot;0&amp;quot;/&amp;#039; /etc/csf/csf.conf&lt;br /&gt;
 sed -i &amp;#039;s/PT_USERTIME = &amp;quot;1800&amp;quot;/PT_USERTIME = &amp;quot;0&amp;quot;/&amp;#039; /etc/csf/csf.conf&lt;br /&gt;
 sed -i &amp;#039;s/PT_USERKILL_ALERT = &amp;quot;1&amp;quot;/PT_USERKILL_ALERT = &amp;quot;0&amp;quot;/&amp;#039; /etc/csf/csf.conf&lt;br /&gt;
 sed -i &amp;#039;s/PT_LOAD = &amp;quot;30&amp;quot;/PT_LOAD = &amp;quot;0&amp;quot;/&amp;#039; /etc/csf/csf.conf&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Rescan drives ==&lt;br /&gt;
&lt;br /&gt;
 echo &amp;quot;- - -&amp;quot; &amp;gt; /sys/class/scsi_host/host0/scan&lt;br /&gt;
&lt;br /&gt;
 echo 1 &amp;gt; /sys/class/scsi_device/2\:0\:0\:0/device/rescan&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Find PTR owner - reversal ==&lt;br /&gt;
&lt;br /&gt;
 dig 0.168.192.in-addr.arpa. NS&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Fix locales in Ubuntu ==&lt;br /&gt;
 locale-gen en_US.UTF-8&lt;br /&gt;
 dpkg-reconfigure locales&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Change permissions to all files and folders ==&lt;br /&gt;
 chown `stat -c %U .`.`stat -c %U .` * -R&lt;br /&gt;
&lt;br /&gt;
== Open last edited file ==&lt;br /&gt;
 less `ls -dx1tr /usr/local/cpanel/logs/cpbackup/*|tail -1`&lt;br /&gt;
&lt;br /&gt;
== Clear cache and swap ==&lt;br /&gt;
 echo 3 &amp;gt; /proc/sys/vm/drop_caches &amp;amp;&amp;amp; swapoff -a &amp;amp;&amp;amp; swapon -a&lt;br /&gt;
&lt;br /&gt;
== Disable core files in CPanel accounts ==&lt;br /&gt;
&lt;br /&gt;
Add this in /etc/sysctl.conf&lt;br /&gt;
 kernel.core_uses_pid = 0&lt;br /&gt;
 kernel.core_pattern = /dev/null&lt;br /&gt;
&lt;br /&gt;
And run:&lt;br /&gt;
 sysctl -p&lt;br /&gt;
&lt;br /&gt;
== Add HSTS support in CPANEL ==&lt;br /&gt;
 cp -p /var/cpanel/templates/apache2_4/ssl_vhost.default /var/cpanel/templates/apache2_4/ssl_vhost.local&lt;br /&gt;
 vi /var/cpanel/templates/apache2_4/ssl_vhost.local&lt;br /&gt;
&lt;br /&gt;
Edit:&lt;br /&gt;
 &amp;lt;VirtualHost[% FOREACH ipblock IN vhost.ips %] [% ipblock.ip %]:[% ipblock.port %][% END %]&amp;gt;&lt;br /&gt;
  # Enable HTTP Strict Transport Security&lt;br /&gt;
  Header always set Strict-Transport-Security &amp;quot;max-age=63072000; includeSubdomains;&amp;quot;&lt;br /&gt;
&lt;br /&gt;
 cp -p /var/cpanel/templates/apache2_4/main.default /var/cpanel/templates/apache2_4/main.local&lt;br /&gt;
 vi /var/cpanel/templates/apache2_4/main.local&lt;br /&gt;
&lt;br /&gt;
Edit:&lt;br /&gt;
 [% IF main.sslprotocol.item.sslprotocol.length %]SSLProtocol [% main.sslprotocol.item.sslprotocol %][% END %]&lt;br /&gt;
 SSLHonorCipherOrder on&lt;br /&gt;
&lt;br /&gt;
Run:&lt;br /&gt;
 /scripts/rebuildhttpdconf&lt;br /&gt;
 service httpd restart&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Install mod_pagespeed on WHM ==&lt;br /&gt;
&lt;br /&gt;
With EA3:&lt;br /&gt;
 /usr/local/cpanel/3rdparty/bin/git clone https://github.com/pagespeed/cpanel.git /tmp/pagespeed/&lt;br /&gt;
 cd /tmp/pagespeed/Easy&lt;br /&gt;
 tar -zcvf Speed.pm.tar.gz pagespeed&lt;br /&gt;
 mkdir -p /var/cpanel/easy/apache/custom_opt_mods/Cpanel/Easy&lt;br /&gt;
 mv Speed.pm Speed.pm.tar.gz -t /var/cpanel/easy/apache/custom_opt_mods/Cpanel/Easy/&lt;br /&gt;
 cd &amp;amp;&amp;amp; rm -rf /tmp/pagespeed&lt;br /&gt;
&lt;br /&gt;
With EA4:&lt;br /&gt;
&lt;br /&gt;
Create file /etc/rpm/macros.apache2 and add the following lines of code exactly as below&lt;br /&gt;
 %_httpd_mmn 20120211x8664&lt;br /&gt;
 %_httpd_apxs /usr/bin/apxs&lt;br /&gt;
 %_httpd_dir /etc/apache2&lt;br /&gt;
 %_httpd_bindir %{_httpd_dir}/bin&lt;br /&gt;
 %_httpd_modconfdir %{_httpd_dir}/conf.modules.d&lt;br /&gt;
 %_httpd_confdir %{_httpd_dir}/conf.d&lt;br /&gt;
 %_httpd_contentdir /usr/share/apache2&lt;br /&gt;
 %_httpd_moddir /usr/lib64/apache2/modules&lt;br /&gt;
&lt;br /&gt;
Next run the following commands in order, make sure you run each command on it’s own&lt;br /&gt;
 rm -rf /root/rpmbuild/RPMS/x86_64/&lt;br /&gt;
 wget https://github.com/pagespeed/cpanel/raw/master/EA4/ea-apache24-mod_pagespeed-latest-stable.src.rpm&lt;br /&gt;
 rpmbuild --rebuild ea-apache24-mod_pagespeed-latest-stable.src.rpm&lt;br /&gt;
 rpm -Uvh /root/rpmbuild/RPMS/x86_64/ea-apache24-mod_pagespeed*.rpm&lt;br /&gt;
 /etc/init.d/httpd restart&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Resize root partition without reboot ==&lt;br /&gt;
&lt;br /&gt;
Resize HD size in VC&lt;br /&gt;
Run: (replace the device if needed)&lt;br /&gt;
 echo 1 &amp;gt; /sys/class/scsi_device/2\:0\:0\:0/device/rescan&lt;br /&gt;
 run fdisk:&lt;br /&gt;
print the old partition and save the output&lt;br /&gt;
delete the root partition&lt;br /&gt;
create a new partition using the SAME start block and make sure that the end block is higher than previous one (enter, enter, enter…)&lt;br /&gt;
write changes (ignore error)&lt;br /&gt;
run:&lt;br /&gt;
 partx -u /dev/sda&lt;br /&gt;
 resize2fs -f /dev/sda3&lt;br /&gt;
Make sure everything is OK:&lt;br /&gt;
 df -h&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Delete files with a large file list - Argument list too long ==&lt;br /&gt;
 find . -name &amp;#039;*&amp;#039;|xargs rm&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Show all domains in NGINX configuration ==&lt;br /&gt;
&lt;br /&gt;
 grep -e &amp;quot;^\s*server_name&amp;quot; /etc/nginx/conf.d/*|sed -e &amp;#039;s/[\t ]*server_name//g;&amp;#039;|sed -e &amp;quot;s/ /\+/g&amp;quot;|sed -e &amp;#039;s/;//g&amp;#039;|while read line; do for i in $line; do echo -n &amp;quot;$i &amp;quot;|sed -e &amp;#039;s/://&amp;#039;  -e &amp;#039;s/\+/\n  |--/g&amp;#039;; done ;echo; done; echo&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Kill process that runs more than X time ==&lt;br /&gt;
&lt;br /&gt;
Kill cgi after 30 secs:&lt;br /&gt;
 for i in `ps -eo pid,etime,cmd|grep cgi|awk &amp;#039;$2 &amp;gt; &amp;quot;00:30&amp;quot; {print $1}&amp;#039;`; do kill $i; done&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Unblock Invalid packets in CSF ==&lt;br /&gt;
 # Drop out of order packets and packets in an INVALID state in iptables&lt;br /&gt;
 # connection tracking&lt;br /&gt;
 PACKET_FILTER = &amp;quot;0&amp;quot;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Who uses RAM ==&lt;br /&gt;
&lt;br /&gt;
 ps aux  | awk &amp;#039;{print $6/1024 &amp;quot; MB\t\t&amp;quot; $11}&amp;#039;  | sort -n&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Fix WHM/CPanel templates  ==&lt;br /&gt;
&lt;br /&gt;
 cp /usr/local/apache/conf/httpd.conf{,.cptech-`date +%Y%m%d`}&lt;br /&gt;
 mv /var/cpanel/templates/apache2_4/vhost.local /var/cpanel/templates/apache2_4/vhost.local.bak&lt;br /&gt;
 mv /var/cpanel/templates/apache2_4/ssl_vhost.local /var/cpanel/templates/apache2_4/ssl_vhost.local.bak&lt;br /&gt;
 /scripts/rebuildhttpdconf&lt;br /&gt;
 /scripts/restartsrv_httpd&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Fix NFS mount on boot - Centos 7 ==&lt;br /&gt;
&lt;br /&gt;
Append text to the end of /usr/lib/systemd/system/nfs-idmap.service&lt;br /&gt;
 [Install]&lt;br /&gt;
 WantedBy=multi-user.target&lt;br /&gt;
&lt;br /&gt;
Append text to the end of /usr/lib/systemd/system/nfs-lock.service&lt;br /&gt;
 [Install]&lt;br /&gt;
 WantedBy=nfs.target&lt;br /&gt;
&lt;br /&gt;
Enable related services&lt;br /&gt;
&lt;br /&gt;
 systemctl enable nfs-idmapd.service &lt;br /&gt;
 systemctl enable rpc-statd.service &lt;br /&gt;
 systemctl enable rpcbind.socket&lt;br /&gt;
&lt;br /&gt;
Reboot the server&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Login to WHM with link ==&lt;br /&gt;
&lt;br /&gt;
 whmapi1 create_user_session user=root service=whostmgrd locale=en&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Update date and time on Linux server ==&lt;br /&gt;
&lt;br /&gt;
 sudo ntpd -qg; sudo hwclock -w&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Clone Linux user ==&lt;br /&gt;
&lt;br /&gt;
 #!/bin/bash&lt;br /&gt;
 SRC=$1&lt;br /&gt;
 DEST=$2&lt;br /&gt;
 &lt;br /&gt;
 SRC_GROUPS=$(id -Gn ${SRC} | sed &amp;quot;s/${SRC} //g&amp;quot; | sed &amp;quot;s/ ${SRC}//g&amp;quot; | sed &amp;quot;s/ /,/g&amp;quot;)&lt;br /&gt;
 SRC_SHELL=$(awk -F : -v name=${SRC} &amp;#039;(name == $1) { print $7 }&amp;#039; /etc/passwd)&lt;br /&gt;
 &lt;br /&gt;
 useradd --groups ${SRC_GROUPS} --shell ${SRC_SHELL} --create-home ${DEST}&lt;br /&gt;
 passwd ${DEST}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Reload VM after UUID change ==&lt;br /&gt;
&lt;br /&gt;
 vim-cmd vmsvc/getallvms&lt;br /&gt;
 vim-cmd vmsvc/reload $vmID&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Size of suspended accounts in WHM ==&lt;br /&gt;
 for i in `whmapi1 listsuspended|grep user|cut -d: -f2`; do echo &amp;quot;Suspended account: $i - using&amp;quot; `whmapi1 listaccts search=$i searchtype=user|grep diskused|cut -d: -f2`; done&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Clear BOOT on Ubuntu when 100% ==&lt;br /&gt;
 dpkg --purge `dpkg --list|grep &amp;quot;linux-&amp;quot;|grep -v \`uname -r|sed &amp;#039;s/-generic//g&amp;#039;\`|cut -d&amp;quot; &amp;quot; -f3|grep &amp;quot;[0-9]-&amp;quot;|paste -sd &amp;quot; &amp;quot; -`&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== One-time login to wordpress ==&lt;br /&gt;
&lt;br /&gt;
Install wp cli:&lt;br /&gt;
&lt;br /&gt;
 curl -O https://raw.githubusercontent.com/wp-cli/builds/gh-pages/phar/wp-cli.phar&lt;br /&gt;
 chmod +x wp-cli.phar&lt;br /&gt;
 mv wp-cli.phar /usr/local/bin/wp&lt;br /&gt;
&lt;br /&gt;
Run from the WordPress installed location:&lt;br /&gt;
&lt;br /&gt;
 useradmin=`wp user list --role=administrator --format=csv --allow-root | cut -d&amp;#039;,&amp;#039; -f2 | head -2 | tail -1` &amp;amp;&amp;amp;  wp plugin install one-time-login --activate --allow-root &amp;amp;&amp;amp; wp user one-time-login $useradmin --allow-root &amp;amp;&amp;amp; user=$(stat -c &amp;quot;%U&amp;quot; `pwd`) &amp;amp;&amp;amp; chown $user.$user wp-content/ -R&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Cpanel resources consumption history per user ==&lt;br /&gt;
 &amp;lt;nowiki&amp;gt;OUT=$(/usr/local/cpanel/bin/dcpumonview | grep -v Top | sed -e &amp;#039;s#&amp;lt;[^&amp;gt;]*&amp;gt;# #g&amp;#039; | while read i ; do NF=`echo $i | awk {&amp;#039;print NF&amp;#039;}` ; if [[ &amp;quot;$NF&amp;quot; == &amp;quot;5&amp;quot; ]] ; then USER=`echo $i | awk {&amp;#039;print $1&amp;#039;}`; OWNER=`grep -e &amp;quot;^OWNER=&amp;quot; /var/cpanel/users/$USER | cut -d= -f2` ; echo &amp;quot;$OWNER $i&amp;quot;; fi ; done) ; (echo &amp;quot;USER CPU&amp;quot; ; echo &amp;quot;$OUT&amp;quot; | sort -nrk4 | awk &amp;#039;{printf &amp;quot;%s %s%\n&amp;quot;,$2,$4}&amp;#039; | head -5) | column -t ;echo;(echo -e &amp;quot;USER MEMORY&amp;quot; ; echo &amp;quot;$OUT&amp;quot; | sort -nrk5 | awk &amp;#039;{printf &amp;quot;%s %s%\n&amp;quot;,$2,$5}&amp;#039; | head -5) | column -t ;echo;(echo -e &amp;quot;USER MYSQL&amp;quot; ; echo &amp;quot;$OUT&amp;quot; | sort -nrk6 | awk &amp;#039;{printf &amp;quot;%s %s%\n&amp;quot;,$2,$6}&amp;#039; | head -5) | column -t ; &amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Engintron generate custom_rules for all domains on the server. ==&lt;br /&gt;
 ip=`hostname -i` &amp;amp;&amp;amp; for domain in `httpd -S |  grep www. | awk -F &amp;#039;www.&amp;#039; &amp;#039;{print $2}&amp;#039;`;do printf &amp;quot;if ( \$host ~ \&amp;quot;%s\&amp;quot;) {set \$PROXY_DOMAIN_OR_IP \&amp;quot;$ip\&amp;quot;;}\n&amp;quot; $domain ;done &amp;gt;&amp;gt; /etc/nginx/custom_rules &amp;amp;&amp;amp; service nginx reload&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Fix Installatron - error 500 or missing list/install ==&lt;br /&gt;
 /usr/local/installatron/repair -f --release --quick&lt;br /&gt;
[https://installatron.com/docs/admin/troubleshooting#missinginstalls Installatron FIX]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Find root of a site and CD to it ==&lt;br /&gt;
&lt;br /&gt;
Replace domain.com with desired domain&lt;br /&gt;
 cd `grep &amp;quot;domain.com&amp;quot; /etc/apache2/conf/httpd.conf -A7|grep Root|head -1|awk &amp;#039;{print $2}&amp;#039;`&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Generate CSR with OPENSSL ==&lt;br /&gt;
&lt;br /&gt;
Generate key:&lt;br /&gt;
 openssl genrsa -out private.key 2048&lt;br /&gt;
&lt;br /&gt;
Gemnerate CSR:&lt;br /&gt;
 openssl req -new -sha256 -key private.key -out mycsr.csr&lt;br /&gt;
&lt;br /&gt;
== Links ==&lt;br /&gt;
Installing Redis: [https://troubleshootguru.wordpress.com/2014/11/19/how-to-install-redis-on-a-centos-6-5-centos-7-0-server-2/] [https://www.fastcomet.com/community/question/wordpress-caching-with-redis-centos-cpanel/] [https://nixtree.com/blog/install-redis-daemon-and-redis-php-extention-on-centosrhelcpanel/]&lt;br /&gt;
&lt;br /&gt;
Windows images [http://torrent-win.net/windows_original/]&lt;br /&gt;
&lt;br /&gt;
Github: [https://github.com/romanost Github]&lt;br /&gt;
&lt;br /&gt;
Arista: [https://www.arista.com/assets/data/docs/Manuals/EOS-4.17.0F-Manual.pdf Manual] [https://www.arista.com/en/um-eos/eos-section-3-10-command-line-interface-commands CLI]&lt;br /&gt;
&lt;br /&gt;
VMware converter old version [http://soft.assenov.net/software/index.php?dir=VMWare/ Link]&lt;br /&gt;
&lt;br /&gt;
GEOip on EA4 [https://grepitout.com/install-mod_geoip-cpanel-easyapache-4/ link]&lt;br /&gt;
&lt;br /&gt;
PHP Malware finder [https://github.com/nbs-system/php-malware-finder link]&lt;br /&gt;
&lt;br /&gt;
Ahsay on QNAP patch [http://wiki.ahsay.com/doku.php?id=public:5356_no_suitable_python_found_for_arm-x41_installation_issue_on_qnap link]&lt;br /&gt;
&lt;br /&gt;
Kubernetes cheat sheet [https://linuxacademy.com/blog/containers/kubernetes-cheat-sheet/ link]&lt;/div&gt;</summary>
		<author><name>Meadmin</name></author>	</entry>

	<entry>
		<id>https://mywiki.romanost.co.il/index.php?title=Linux&amp;diff=64</id>
		<title>Linux</title>
		<link rel="alternate" type="text/html" href="https://mywiki.romanost.co.il/index.php?title=Linux&amp;diff=64"/>
				<updated>2019-02-17T11:28:23Z</updated>
		
		<summary type="html">&lt;p&gt;Meadmin: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&lt;br /&gt;
== Wordpress login attack check ==&lt;br /&gt;
&lt;br /&gt;
 &amp;#039;&amp;#039;&amp;#039;Crontab :&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
 0 */6 * * *  sh /root/wplogin.sh&lt;br /&gt;
 &lt;br /&gt;
 &amp;#039;&amp;#039;&amp;#039;Script :&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
 #!/bin/bash&lt;br /&gt;
 &lt;br /&gt;
 ###start editing&lt;br /&gt;
 thold=&amp;quot;100&amp;quot;&lt;br /&gt;
 btime=&amp;quot;359m&amp;quot;&lt;br /&gt;
 ###stop editing&lt;br /&gt;
 &lt;br /&gt;
 egrep &amp;#039;wp-login.php&amp;#039; /usr/local/apache/domlogs/* | grep -v ftp_log | awk -F : &amp;#039;{print $2}&amp;#039; | awk &amp;#039;{print $1}&amp;#039; | sort | uniq -c | sort -n | awk -v limit=&amp;quot;$thold&amp;quot; &amp;#039;$1 &amp;gt; limit{print $2}&amp;#039; &amp;gt; $$_ip_$$&lt;br /&gt;
 &lt;br /&gt;
 while IFS= read -r line&lt;br /&gt;
         do&lt;br /&gt;
                 /usr/sbin/csf -td &amp;quot;$line&amp;quot;  &amp;quot;$btime&amp;quot; &amp;quot;banned for wordpress attack&amp;quot;&lt;br /&gt;
         done &amp;lt; $$_ip_$$&lt;br /&gt;
 rm -f $$_ip_$$&lt;br /&gt;
&lt;br /&gt;
== Prevent OOM killer ==&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Edit file /etc/sysctl.conf&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
 &lt;br /&gt;
 vm.overcommit_memory = 2 &lt;br /&gt;
 vm.overcommit_ratio = 100&lt;br /&gt;
&lt;br /&gt;
In case of bad memory usage (php out of memory) use this settings:&lt;br /&gt;
&lt;br /&gt;
 vm.overcommit_memory = 0&lt;br /&gt;
 vm.overcommit_ratio = 80&lt;br /&gt;
&lt;br /&gt;
== Who is using SWAP ==&lt;br /&gt;
 grep VmSwap /proc/*/status 2&amp;gt;/dev/null | sort -nk2 | tail -n5&lt;br /&gt;
&lt;br /&gt;
Print with the process command:&lt;br /&gt;
 grep VmSwap /proc/*/status 2&amp;gt;/dev/null | sort -nk2 | tail -n5|awk -F&amp;#039;/&amp;#039; &amp;#039;{cmd=&amp;quot;cat /proc/&amp;quot; $3 &amp;quot;/cmdline&amp;quot;; cmd|getline var; close (cmd); printf $0 &amp;quot;\t&amp;quot;; print var}&amp;#039;  &lt;br /&gt;
&lt;br /&gt;
== Plesk on CentOS 12 bind fix ==&lt;br /&gt;
&lt;br /&gt;
The problem was nginx was attempting to bind to port 443 before the IP was initialized.&lt;br /&gt;
&lt;br /&gt;
To fix edit the /etx/sysctl.conf file and add &lt;br /&gt;
 net.ipv4.ip_nonlocal_bind = 1&lt;br /&gt;
&lt;br /&gt;
== WHM replica ==&lt;br /&gt;
&lt;br /&gt;
 rsync -avz 192.168.1.122:/home/ /home/ --exclude=&amp;quot;virtfs&amp;quot; --exclude=&amp;quot;\.cp*&amp;quot; --exclude=&amp;quot;cpeasyapache&amp;quot; &lt;br /&gt;
 rsync -avz 192.168.1.122:/usr/local/apache/conf/ /usr/local/apache/conf/&lt;br /&gt;
 rsync -avz 192.168.1.122:/var/named/ /var/named/&lt;br /&gt;
 rsync -avz 192.168.1.122:/usr/local/cpanel/ /usr/local/cpanel/&lt;br /&gt;
 rsync -avz 192.168.1.122:/var/cpanel/ /var/cpanel&lt;br /&gt;
&lt;br /&gt;
 chkconfig cpanel off&lt;br /&gt;
 chkconfig exim off&lt;br /&gt;
 chkconfig dovecot off&lt;br /&gt;
 chkconfig pure-ftpd off&lt;br /&gt;
 chkconfig named off&lt;br /&gt;
 chkconfig mysql off&lt;br /&gt;
 chkconfig csf off&lt;br /&gt;
 chkconfig iptables off&lt;br /&gt;
&lt;br /&gt;
 hostname: /etc/sysconfig/network&lt;br /&gt;
&lt;br /&gt;
 change shared ip - You can change it in /etc/wwwacct.conf infront of ADDR parameter.&lt;br /&gt;
 change ip - Usage: /usr/local/cpanel/bin/setsiteip [-u user | domain] ip   (/etc/trueuserowners)&lt;br /&gt;
 rebuild httpd conf&lt;br /&gt;
 restart apache&lt;br /&gt;
&lt;br /&gt;
== Apache memory usage ==&lt;br /&gt;
&lt;br /&gt;
 ps -ylC httpd | awk &amp;#039;{x += $8;y += 1} END {print &amp;quot;Apache Memory Usage (MB): &amp;quot;x/1024; print &amp;quot;Average Proccess Size (MB): &amp;quot;x/((y-1)*1024)}&amp;#039;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Wordpress pingback ==&lt;br /&gt;
&lt;br /&gt;
Nginx:&lt;br /&gt;
&lt;br /&gt;
 # WordPress Pingback Request Denial&lt;br /&gt;
 if ($http_user_agent ~* &amp;quot;WordPress&amp;quot;) {&lt;br /&gt;
   return 403;&lt;br /&gt;
 }&lt;br /&gt;
&lt;br /&gt;
Apache:&lt;br /&gt;
&lt;br /&gt;
 BrowserMatchNoCase WordPress wordpress_ping&lt;br /&gt;
 BrowserMatchNoCase Wordpress wordpress_ping&lt;br /&gt;
 Order Deny,Allow&lt;br /&gt;
 Deny from env=wordpress_ping&lt;br /&gt;
&lt;br /&gt;
== Find big files and folders ==&lt;br /&gt;
&lt;br /&gt;
 find / -mount -type f -print0 2&amp;gt;/dev/null | xargs -0 du 2&amp;gt;/dev/null | grep -v &amp;quot;virtfs&amp;quot; | sort -n | tail -40 | cut -f2 | xargs -I{} du -sh 2&amp;gt;/dev/null {} | uniq; printf &amp;#039;+%.0s&amp;#039; {1..100}; echo; \&lt;br /&gt;
 find / -mount -type d -print0 2&amp;gt;/dev/null | xargs -0 du 2&amp;gt;/dev/null | grep -v &amp;quot;virtfs&amp;quot; | sort -n | tail -40 | cut -f2 | xargs -I{} du -sh 2&amp;gt;/dev/null {} | uniq; printf &amp;#039;+%.0s&amp;#039; {1..100}; echo; \&lt;br /&gt;
 du -sh /var/cpanel/user_notifications &amp;amp;&amp;amp; du -sh /backup/cpbackup/*/dirs/_var_cpanel/user_notifications&lt;br /&gt;
&lt;br /&gt;
== Rebuild Sophos when disk full ==&lt;br /&gt;
&lt;br /&gt;
 /etc/init.d/postgresql92 rebuild&lt;br /&gt;
&lt;br /&gt;
On older versions:&lt;br /&gt;
 /var/mdw/scripts/smtp stop&lt;br /&gt;
 dropdb -U postgres smtp&lt;br /&gt;
 createdb -U postgres smtp&lt;br /&gt;
 /var/mdw/scripts/smtp start&lt;br /&gt;
&lt;br /&gt;
== Clear allowed networks on Sophos ==&lt;br /&gt;
&lt;br /&gt;
Login to the Sophos&lt;br /&gt;
 Type ‘cc’&lt;br /&gt;
 In cc, you’ll be in MAIN, if not, type ‘MAIN’&lt;br /&gt;
 Type ‘webadmin&amp;#039;&lt;br /&gt;
 Type ‘allowed_networks@&amp;#039;&lt;br /&gt;
 =[&amp;#039;REF_NetworkAny&amp;#039;]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Most accessed sites in the last minute ==&lt;br /&gt;
&lt;br /&gt;
 cat &amp;lt;&amp;lt;&amp;#039;SCRIPT&amp;#039; &amp;gt;&amp;gt;/root/sitesLoad.sh&lt;br /&gt;
 &lt;br /&gt;
 #!/bin/bash&lt;br /&gt;
 &amp;lt;nowiki&amp;gt;if [[ `netstat -ntalp | grep :80 | awk &amp;#039;$4 ~ /:80/ {print $0;exit}&amp;#039; | grep -q httpd; echo $?` -ne 0 ]]; then echo &amp;quot;Main web server is not Apache. Exiting...&amp;quot;; exit 1; fi&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
 &lt;br /&gt;
 log=/tmp/hostPop&lt;br /&gt;
 i=0&lt;br /&gt;
 find /usr/local/apache/domlogs/ -type f -mmin -1 ! -group root -exec ls -l {} \+ | awk &amp;#039;{print $4, $9}&amp;#039; | column -t&amp;gt;$log&lt;br /&gt;
 &lt;br /&gt;
 while read line; do&lt;br /&gt;
 ((++i))&lt;br /&gt;
        arr[$i]=$i&lt;br /&gt;
        arr[$i*1000]=$(printf &amp;quot;$line&amp;quot; | awk &amp;#039;{print $1}&amp;#039;)&lt;br /&gt;
        arr[$i*1001]=$(printf &amp;quot;$line&amp;quot; | awk &amp;#039;{print $2}&amp;#039;)&lt;br /&gt;
        arr[$i*1002]=$(wc -l `echo $line | awk &amp;#039;{print $NF}&amp;#039;` | cut -d&amp;#039; &amp;#039; -f 1)&lt;br /&gt;
 done &amp;lt; &amp;lt;(cat $log)&lt;br /&gt;
 &lt;br /&gt;
 echo &amp;quot;Analyzing apache logs in realtime for 1 minute...&amp;quot;; sleep 60&lt;br /&gt;
 &lt;br /&gt;
 for (( var=1 ; var&amp;lt;=$i ; var++ ))&lt;br /&gt;
 do&lt;br /&gt;
        printf &amp;quot;${arr[$var*1000]} ${arr[$var*1001]} &amp;quot;&lt;br /&gt;
        echo $((`wc -l $(echo ${arr[$var*1001]}) | cut -d&amp;#039; &amp;#039; -f 1` - ${arr[$var*1002]}));&lt;br /&gt;
 done | sed -e &amp;#039;s/\/usr\/local\/apache\/domlogs\///g&amp;#039; | sort -nrk 3 | column -t&lt;br /&gt;
 &lt;br /&gt;
 SCRIPT&lt;br /&gt;
 chmod 700 /root/sitesLoad.sh &amp;amp;&amp;amp; /root/sitesLoad.sh&lt;br /&gt;
&lt;br /&gt;
== PHP.INI upload big files ==&lt;br /&gt;
&lt;br /&gt;
 ini_set(&amp;#039;upload_max_filesize&amp;#039;, &amp;#039;10M&amp;#039;);&lt;br /&gt;
 ini_set(&amp;#039;post_max_size&amp;#039;, &amp;#039;10M&amp;#039;);&lt;br /&gt;
 ini_set(&amp;#039;max_input_time&amp;#039;, 300);&lt;br /&gt;
 ini_set(&amp;#039;max_execution_time&amp;#039;, 300);&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Change permissions (chmod) to folders and files ==&lt;br /&gt;
&lt;br /&gt;
 find . -type d -exec chmod 755 {} +                  &lt;br /&gt;
 find . -type f -exec chmod 644 {} +                 &lt;br /&gt;
&lt;br /&gt;
== Disable IPv6 ==&lt;br /&gt;
&lt;br /&gt;
For current session:&lt;br /&gt;
 echo 1 &amp;gt; /proc/sys/net/ipv6/conf/&amp;lt;interface-name&amp;gt;/disable_ipv6&lt;br /&gt;
 echo 1 &amp;gt; /proc/sys/net/ipv6/conf/eth0/disable_ipv6&lt;br /&gt;
&lt;br /&gt;
Permanent:&lt;br /&gt;
 vi /etc/sysctl.conf&lt;br /&gt;
 net.ipv6.conf.all.disable_ipv6 = 1&lt;br /&gt;
 sudo sysctl -p /etc/sysctl.conf&lt;br /&gt;
&lt;br /&gt;
== Virtual box boot from USB ==&lt;br /&gt;
 VBoxManage internalcommands createrawvmdk -filename C:\usb.vmdk -rawdisk \\.\PhysicalDrive#&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== CSF GUI on ISPCONFIG 3 ==&lt;br /&gt;
Install old CSF (before 8.13)&lt;br /&gt;
&lt;br /&gt;
Copy the ISPCONFIG folder to /etc/csf/ and enable CSF in ISPCONFIG&lt;br /&gt;
&lt;br /&gt;
Backup csfui* files&lt;br /&gt;
&lt;br /&gt;
Upgrade CSF&lt;br /&gt;
&lt;br /&gt;
Copy backuped csfui* files back&lt;br /&gt;
&lt;br /&gt;
Run the following commands:&lt;br /&gt;
 sed -i &amp;#039;s/checkip/ConfigServer::CheckIP::checkip/g&amp;#039; /usr/local/csf/bin/csfui.pl&lt;br /&gt;
 sed -i &amp;#039;s/sanity(/ConfigServer::Sanity::sanity(/g&amp;#039; /usr/local/csf/bin/csfui.pl&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Max connections on Linux ==&lt;br /&gt;
&lt;br /&gt;
Add to /etc/sysctl.conf:&lt;br /&gt;
&lt;br /&gt;
 fs.file-max = 70000&lt;br /&gt;
 net.ipv4.tcp_tw_recycle=0&lt;br /&gt;
 net.ipv4.tcp_fin_timeout = 10&lt;br /&gt;
 net.ipv4.ip_local_port_range = 15000 61000&lt;br /&gt;
 net.core.somaxconn = 1024&lt;br /&gt;
 net.core.netdev_max_backlog = 2000&lt;br /&gt;
&lt;br /&gt;
== CSF configuration ==&lt;br /&gt;
&lt;br /&gt;
 ## Automated configuration:&lt;br /&gt;
 &lt;br /&gt;
 sed -i &amp;#039;s/TESTING = &amp;quot;1&amp;quot;/TESTING = &amp;quot;0&amp;quot;/&amp;#039; /etc/csf/csf.conf&lt;br /&gt;
 sed -i &amp;#039;s/RESTRICT_SYSLOG = &amp;quot;0&amp;quot;/RESTRICT_SYSLOG = &amp;quot;3&amp;quot;/&amp;#039; /etc/csf/csf.conf&lt;br /&gt;
 sed -i &amp;#039;s/IPV6 = &amp;quot;1&amp;quot;/IPV6 = &amp;quot;0&amp;quot;/&amp;#039; /etc/csf/csf.conf&lt;br /&gt;
 sed -i &amp;#039;s/IGNORE_ALLOW = &amp;quot;0&amp;quot;/IGNORE_ALLOW = &amp;quot;1&amp;quot;/&amp;#039; /etc/csf/csf.conf&lt;br /&gt;
 sed -i &amp;#039;s/CONNLIMIT = &amp;quot;&amp;quot;/CONNLIMIT = &amp;quot;22;5,80;70&amp;quot;/&amp;#039; /etc/csf/csf.conf&lt;br /&gt;
 sed -i &amp;#039;s/PORTFLOOD = &amp;quot;&amp;quot;/PORTFLOOD = &amp;quot;22;tcp;5;300,80;tcp;100;1,443;tcp;100;5&amp;quot;/&amp;#039; /etc/csf/csf.conf&lt;br /&gt;
 sed -i &amp;#039;s/CT_LIMIT = &amp;quot;0&amp;quot;/CT_LIMIT = &amp;quot;300&amp;quot;/&amp;#039; /etc/csf/csf.conf&lt;br /&gt;
  &lt;br /&gt;
 ## Disable LFD alerts: Only if you want to disable them!!&lt;br /&gt;
 &lt;br /&gt;
 sed -i &amp;#039;s/LF_EMAIL_ALERT = &amp;quot;1&amp;quot;/LF_EMAIL_ALERT = &amp;quot;0&amp;quot;/&amp;#039; /etc/csf/csf.conf&lt;br /&gt;
 sed -i &amp;#039;s/LF_SSH_EMAIL_ALERT = &amp;quot;1&amp;quot;/LF_SSH_EMAIL_ALERT = &amp;quot;0&amp;quot;/&amp;#039; /etc/csf/csf.conf&lt;br /&gt;
 sed -i &amp;#039;s/LF_SU_EMAIL_ALERT = &amp;quot;1&amp;quot;/LF_SU_EMAIL_ALERT = &amp;quot;0&amp;quot;/&amp;#039; /etc/csf/csf.conf&lt;br /&gt;
 sed -i &amp;#039;s/LF_WEBMIN_EMAIL_ALERT = &amp;quot;1&amp;quot;/LF_WEBMIN_EMAIL_ALERT = &amp;quot;0&amp;quot;/&amp;#039; /etc/csf/csf.conf&lt;br /&gt;
 sed -i &amp;#039;s/LF_CONSOLE_EMAIL_ALERT = &amp;quot;1&amp;quot;/LF_CONSOLE_EMAIL_ALERT = &amp;quot;0&amp;quot;/&amp;#039; /etc/csf/csf.conf&lt;br /&gt;
 sed -i &amp;#039;s/LT_EMAIL_ALERT = &amp;quot;1&amp;quot;/LT_EMAIL_ALERT = &amp;quot;0&amp;quot;/&amp;#039; /etc/csf/csf.conf&lt;br /&gt;
 sed -i &amp;#039;s/CT_EMAIL_ALERT = &amp;quot;1&amp;quot;/CT_EMAIL_ALERT = &amp;quot;0&amp;quot;/&amp;#039; /etc/csf/csf.conf&lt;br /&gt;
 sed -i &amp;#039;s/PS_EMAIL_ALERT = &amp;quot;1&amp;quot;/PS_EMAIL_ALERT = &amp;quot;0&amp;quot;/&amp;#039; /etc/csf/csf.conf&lt;br /&gt;
 &lt;br /&gt;
 ## Disable PT alerts: Only if you want to disable them!!&lt;br /&gt;
 &lt;br /&gt;
 sed -i &amp;#039;s/PT_USERPROC = &amp;quot;10&amp;quot;/PT_USERPROC = &amp;quot;0&amp;quot;/&amp;#039; /etc/csf/csf.conf&lt;br /&gt;
 sed -i &amp;#039;s/PT_USERMEM = &amp;quot;256&amp;quot;/PT_USERMEM = &amp;quot;0&amp;quot;/&amp;#039; /etc/csf/csf.conf&lt;br /&gt;
 sed -i &amp;#039;s/PT_USERTIME = &amp;quot;1800&amp;quot;/PT_USERTIME = &amp;quot;0&amp;quot;/&amp;#039; /etc/csf/csf.conf&lt;br /&gt;
 sed -i &amp;#039;s/PT_USERKILL_ALERT = &amp;quot;1&amp;quot;/PT_USERKILL_ALERT = &amp;quot;0&amp;quot;/&amp;#039; /etc/csf/csf.conf&lt;br /&gt;
 sed -i &amp;#039;s/PT_LOAD = &amp;quot;30&amp;quot;/PT_LOAD = &amp;quot;0&amp;quot;/&amp;#039; /etc/csf/csf.conf&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Rescan drives ==&lt;br /&gt;
&lt;br /&gt;
 echo &amp;quot;- - -&amp;quot; &amp;gt; /sys/class/scsi_host/host0/scan&lt;br /&gt;
&lt;br /&gt;
 echo 1 &amp;gt; /sys/class/scsi_device/2\:0\:0\:0/device/rescan&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Find PTR owner - reversal ==&lt;br /&gt;
&lt;br /&gt;
 dig 0.168.192.in-addr.arpa. NS&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Fix locales in Ubuntu ==&lt;br /&gt;
 locale-gen en_US.UTF-8&lt;br /&gt;
 dpkg-reconfigure locales&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Change permissions to all files and folders ==&lt;br /&gt;
 chown `stat -c %U .`.`stat -c %U .` * -R&lt;br /&gt;
&lt;br /&gt;
== Open last edited file ==&lt;br /&gt;
 less `ls -dx1tr /usr/local/cpanel/logs/cpbackup/*|tail -1`&lt;br /&gt;
&lt;br /&gt;
== Clear cache and swap ==&lt;br /&gt;
 echo 3 &amp;gt; /proc/sys/vm/drop_caches &amp;amp;&amp;amp; swapoff -a &amp;amp;&amp;amp; swapon -a&lt;br /&gt;
&lt;br /&gt;
== Disable core files in CPanel accounts ==&lt;br /&gt;
&lt;br /&gt;
Add this in /etc/sysctl.conf&lt;br /&gt;
 kernel.core_uses_pid = 0&lt;br /&gt;
 kernel.core_pattern = /dev/null&lt;br /&gt;
&lt;br /&gt;
And run:&lt;br /&gt;
 sysctl -p&lt;br /&gt;
&lt;br /&gt;
== Add HSTS support in CPANEL ==&lt;br /&gt;
 cp -p /var/cpanel/templates/apache2_4/ssl_vhost.default /var/cpanel/templates/apache2_4/ssl_vhost.local&lt;br /&gt;
 vi /var/cpanel/templates/apache2_4/ssl_vhost.local&lt;br /&gt;
&lt;br /&gt;
Edit:&lt;br /&gt;
 &amp;lt;VirtualHost[% FOREACH ipblock IN vhost.ips %] [% ipblock.ip %]:[% ipblock.port %][% END %]&amp;gt;&lt;br /&gt;
  # Enable HTTP Strict Transport Security&lt;br /&gt;
  Header always set Strict-Transport-Security &amp;quot;max-age=63072000; includeSubdomains;&amp;quot;&lt;br /&gt;
&lt;br /&gt;
 cp -p /var/cpanel/templates/apache2_4/main.default /var/cpanel/templates/apache2_4/main.local&lt;br /&gt;
 vi /var/cpanel/templates/apache2_4/main.local&lt;br /&gt;
&lt;br /&gt;
Edit:&lt;br /&gt;
 [% IF main.sslprotocol.item.sslprotocol.length %]SSLProtocol [% main.sslprotocol.item.sslprotocol %][% END %]&lt;br /&gt;
 SSLHonorCipherOrder on&lt;br /&gt;
&lt;br /&gt;
Run:&lt;br /&gt;
 /scripts/rebuildhttpdconf&lt;br /&gt;
 service httpd restart&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Install mod_pagespeed on WHM ==&lt;br /&gt;
&lt;br /&gt;
With EA3:&lt;br /&gt;
 /usr/local/cpanel/3rdparty/bin/git clone https://github.com/pagespeed/cpanel.git /tmp/pagespeed/&lt;br /&gt;
 cd /tmp/pagespeed/Easy&lt;br /&gt;
 tar -zcvf Speed.pm.tar.gz pagespeed&lt;br /&gt;
 mkdir -p /var/cpanel/easy/apache/custom_opt_mods/Cpanel/Easy&lt;br /&gt;
 mv Speed.pm Speed.pm.tar.gz -t /var/cpanel/easy/apache/custom_opt_mods/Cpanel/Easy/&lt;br /&gt;
 cd &amp;amp;&amp;amp; rm -rf /tmp/pagespeed&lt;br /&gt;
&lt;br /&gt;
With EA4:&lt;br /&gt;
&lt;br /&gt;
Create file /etc/rpm/macros.apache2 and add the following lines of code exactly as below&lt;br /&gt;
 %_httpd_mmn 20120211x8664&lt;br /&gt;
 %_httpd_apxs /usr/bin/apxs&lt;br /&gt;
 %_httpd_dir /etc/apache2&lt;br /&gt;
 %_httpd_bindir %{_httpd_dir}/bin&lt;br /&gt;
 %_httpd_modconfdir %{_httpd_dir}/conf.modules.d&lt;br /&gt;
 %_httpd_confdir %{_httpd_dir}/conf.d&lt;br /&gt;
 %_httpd_contentdir /usr/share/apache2&lt;br /&gt;
 %_httpd_moddir /usr/lib64/apache2/modules&lt;br /&gt;
&lt;br /&gt;
Next run the following commands in order, make sure you run each command on it’s own&lt;br /&gt;
 rm -rf /root/rpmbuild/RPMS/x86_64/&lt;br /&gt;
 wget https://github.com/pagespeed/cpanel/raw/master/EA4/ea-apache24-mod_pagespeed-latest-stable.src.rpm&lt;br /&gt;
 rpmbuild --rebuild ea-apache24-mod_pagespeed-latest-stable.src.rpm&lt;br /&gt;
 rpm -Uvh /root/rpmbuild/RPMS/x86_64/ea-apache24-mod_pagespeed*.rpm&lt;br /&gt;
 /etc/init.d/httpd restart&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Resize root partition without reboot ==&lt;br /&gt;
&lt;br /&gt;
Resize HD size in VC&lt;br /&gt;
Run: (replace the device if needed)&lt;br /&gt;
 echo 1 &amp;gt; /sys/class/scsi_device/2\:0\:0\:0/device/rescan&lt;br /&gt;
 run fdisk:&lt;br /&gt;
print the old partition and save the output&lt;br /&gt;
delete the root partition&lt;br /&gt;
create a new partition using the SAME start block and make sure that the end block is higher than previous one (enter, enter, enter…)&lt;br /&gt;
write changes (ignore error)&lt;br /&gt;
run:&lt;br /&gt;
 partx -u /dev/sda&lt;br /&gt;
 resize2fs -f /dev/sda3&lt;br /&gt;
Make sure everything is OK:&lt;br /&gt;
 df -h&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Delete files with a large file list - Argument list too long ==&lt;br /&gt;
 find . -name &amp;#039;*&amp;#039;|xargs rm&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Show all domains in NGINX configuration ==&lt;br /&gt;
&lt;br /&gt;
 grep -e &amp;quot;^\s*server_name&amp;quot; /etc/nginx/conf.d/*|sed -e &amp;#039;s/[\t ]*server_name//g;&amp;#039;|sed -e &amp;quot;s/ /\+/g&amp;quot;|sed -e &amp;#039;s/;//g&amp;#039;|while read line; do for i in $line; do echo -n &amp;quot;$i &amp;quot;|sed -e &amp;#039;s/://&amp;#039;  -e &amp;#039;s/\+/\n  |--/g&amp;#039;; done ;echo; done; echo&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Kill process that runs more than X time ==&lt;br /&gt;
&lt;br /&gt;
Kill cgi after 30 secs:&lt;br /&gt;
 for i in `ps -eo pid,etime,cmd|grep cgi|awk &amp;#039;$2 &amp;gt; &amp;quot;00:30&amp;quot; {print $1}&amp;#039;`; do kill $i; done&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Unblock Invalid packets in CSF ==&lt;br /&gt;
 # Drop out of order packets and packets in an INVALID state in iptables&lt;br /&gt;
 # connection tracking&lt;br /&gt;
 PACKET_FILTER = &amp;quot;0&amp;quot;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Who uses RAM ==&lt;br /&gt;
&lt;br /&gt;
 ps aux  | awk &amp;#039;{print $6/1024 &amp;quot; MB\t\t&amp;quot; $11}&amp;#039;  | sort -n&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Fix WHM/CPanel templates  ==&lt;br /&gt;
&lt;br /&gt;
 cp /usr/local/apache/conf/httpd.conf{,.cptech-`date +%Y%m%d`}&lt;br /&gt;
 mv /var/cpanel/templates/apache2_4/vhost.local /var/cpanel/templates/apache2_4/vhost.local.bak&lt;br /&gt;
 mv /var/cpanel/templates/apache2_4/ssl_vhost.local /var/cpanel/templates/apache2_4/ssl_vhost.local.bak&lt;br /&gt;
 /scripts/rebuildhttpdconf&lt;br /&gt;
 /scripts/restartsrv_httpd&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Fix NFS mount on boot - Centos 7 ==&lt;br /&gt;
&lt;br /&gt;
Append text to the end of /usr/lib/systemd/system/nfs-idmap.service&lt;br /&gt;
 [Install]&lt;br /&gt;
 WantedBy=multi-user.target&lt;br /&gt;
&lt;br /&gt;
Append text to the end of /usr/lib/systemd/system/nfs-lock.service&lt;br /&gt;
 [Install]&lt;br /&gt;
 WantedBy=nfs.target&lt;br /&gt;
&lt;br /&gt;
Enable related services&lt;br /&gt;
&lt;br /&gt;
 systemctl enable nfs-idmapd.service &lt;br /&gt;
 systemctl enable rpc-statd.service &lt;br /&gt;
 systemctl enable rpcbind.socket&lt;br /&gt;
&lt;br /&gt;
Reboot the server&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Login to WHM with link ==&lt;br /&gt;
&lt;br /&gt;
 whmapi1 create_user_session user=root service=whostmgrd locale=en&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Update date and time on Linux server ==&lt;br /&gt;
&lt;br /&gt;
 sudo ntpd -qg; sudo hwclock -w&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Clone Linux user ==&lt;br /&gt;
&lt;br /&gt;
 #!/bin/bash&lt;br /&gt;
 SRC=$1&lt;br /&gt;
 DEST=$2&lt;br /&gt;
 &lt;br /&gt;
 SRC_GROUPS=$(id -Gn ${SRC} | sed &amp;quot;s/${SRC} //g&amp;quot; | sed &amp;quot;s/ ${SRC}//g&amp;quot; | sed &amp;quot;s/ /,/g&amp;quot;)&lt;br /&gt;
 SRC_SHELL=$(awk -F : -v name=${SRC} &amp;#039;(name == $1) { print $7 }&amp;#039; /etc/passwd)&lt;br /&gt;
 &lt;br /&gt;
 useradd --groups ${SRC_GROUPS} --shell ${SRC_SHELL} --create-home ${DEST}&lt;br /&gt;
 passwd ${DEST}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Reload VM after UUID change ==&lt;br /&gt;
&lt;br /&gt;
 vim-cmd vmsvc/getallvms&lt;br /&gt;
 vim-cmd vmsvc/reload $vmID&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Size of suspended accounts in WHM ==&lt;br /&gt;
 for i in `whmapi1 listsuspended|grep user|cut -d: -f2`; do echo &amp;quot;Suspended account: $i - using&amp;quot; `whmapi1 listaccts search=$i searchtype=user|grep diskused|cut -d: -f2`; done&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Clear BOOT on Ubuntu when 100% ==&lt;br /&gt;
 dpkg --purge `dpkg --list|grep &amp;quot;linux-&amp;quot;|grep -v \`uname -r|sed &amp;#039;s/-generic//g&amp;#039;\`|cut -d&amp;quot; &amp;quot; -f3|grep &amp;quot;[0-9]-&amp;quot;|paste -sd &amp;quot; &amp;quot; -`&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== One-time login to wordpress ==&lt;br /&gt;
&lt;br /&gt;
Install wp cli:&lt;br /&gt;
&lt;br /&gt;
 curl -O https://raw.githubusercontent.com/wp-cli/builds/gh-pages/phar/wp-cli.phar&lt;br /&gt;
 chmod +x wp-cli.phar&lt;br /&gt;
 mv wp-cli.phar /usr/local/bin/wp&lt;br /&gt;
&lt;br /&gt;
Run from the WordPress installed location:&lt;br /&gt;
&lt;br /&gt;
 useradmin=`wp user list --role=administrator --format=csv --allow-root | cut -d&amp;#039;,&amp;#039; -f2 | head -2 | tail -1` &amp;amp;&amp;amp;  wp plugin install one-time-login --activate --allow-root &amp;amp;&amp;amp; wp user one-time-login $useradmin --allow-root &amp;amp;&amp;amp; user=$(stat -c &amp;quot;%U&amp;quot; `pwd`) &amp;amp;&amp;amp; chown $user.$user wp-content/ -R&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Cpanel resources consumption history per user ==&lt;br /&gt;
 &amp;lt;nowiki&amp;gt;OUT=$(/usr/local/cpanel/bin/dcpumonview | grep -v Top | sed -e &amp;#039;s#&amp;lt;[^&amp;gt;]*&amp;gt;# #g&amp;#039; | while read i ; do NF=`echo $i | awk {&amp;#039;print NF&amp;#039;}` ; if [[ &amp;quot;$NF&amp;quot; == &amp;quot;5&amp;quot; ]] ; then USER=`echo $i | awk {&amp;#039;print $1&amp;#039;}`; OWNER=`grep -e &amp;quot;^OWNER=&amp;quot; /var/cpanel/users/$USER | cut -d= -f2` ; echo &amp;quot;$OWNER $i&amp;quot;; fi ; done) ; (echo &amp;quot;USER CPU&amp;quot; ; echo &amp;quot;$OUT&amp;quot; | sort -nrk4 | awk &amp;#039;{printf &amp;quot;%s %s%\n&amp;quot;,$2,$4}&amp;#039; | head -5) | column -t ;echo;(echo -e &amp;quot;USER MEMORY&amp;quot; ; echo &amp;quot;$OUT&amp;quot; | sort -nrk5 | awk &amp;#039;{printf &amp;quot;%s %s%\n&amp;quot;,$2,$5}&amp;#039; | head -5) | column -t ;echo;(echo -e &amp;quot;USER MYSQL&amp;quot; ; echo &amp;quot;$OUT&amp;quot; | sort -nrk6 | awk &amp;#039;{printf &amp;quot;%s %s%\n&amp;quot;,$2,$6}&amp;#039; | head -5) | column -t ; &amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Engintron generate custom_rules for all domains on the server. ==&lt;br /&gt;
 ip=`hostname -i` &amp;amp;&amp;amp; for domain in `httpd -S |  grep www. | awk -F &amp;#039;www.&amp;#039; &amp;#039;{print $2}&amp;#039;`;do printf &amp;quot;if ( \$host ~ \&amp;quot;%s\&amp;quot;) {set \$PROXY_DOMAIN_OR_IP \&amp;quot;$ip\&amp;quot;;}\n&amp;quot; $domain ;done &amp;gt;&amp;gt; /etc/nginx/custom_rules &amp;amp;&amp;amp; service nginx reload&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Fix Installatron - error 500 or missing list/install ==&lt;br /&gt;
 /usr/local/installatron/repair -f --release --quick&lt;br /&gt;
[https://installatron.com/docs/admin/troubleshooting#missinginstalls Installatron FIX]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Find root of a site and CD to it ==&lt;br /&gt;
&lt;br /&gt;
Replace domain.com with desired domain&lt;br /&gt;
 cd `grep &amp;quot;domain.com&amp;quot; /etc/apache2/conf/httpd.conf -A7|grep Root|head -1|awk &amp;#039;{print $2}&amp;#039;`&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Generate CSR with OPENSSL ==&lt;br /&gt;
&lt;br /&gt;
Generate key:&lt;br /&gt;
 openssl genrsa -out private.key 2048&lt;br /&gt;
&lt;br /&gt;
Gemnerate CSR:&lt;br /&gt;
 openssl req -new -sha256 -key private.key -out mycsr.csr&lt;br /&gt;
&lt;br /&gt;
== Links ==&lt;br /&gt;
Installing Redis: [https://troubleshootguru.wordpress.com/2014/11/19/how-to-install-redis-on-a-centos-6-5-centos-7-0-server-2/] [https://www.fastcomet.com/community/question/wordpress-caching-with-redis-centos-cpanel/] [https://nixtree.com/blog/install-redis-daemon-and-redis-php-extention-on-centosrhelcpanel/]&lt;br /&gt;
&lt;br /&gt;
Windows images [http://torrent-win.net/windows_original/]&lt;br /&gt;
&lt;br /&gt;
Github: [https://github.com/romanost Github]&lt;br /&gt;
&lt;br /&gt;
Arista: [https://www.arista.com/assets/data/docs/Manuals/EOS-4.17.0F-Manual.pdf Manual] [https://www.arista.com/en/um-eos/eos-section-3-10-command-line-interface-commands CLI]&lt;br /&gt;
&lt;br /&gt;
VMware converter old version [http://soft.assenov.net/software/index.php?dir=VMWare/ Link]&lt;br /&gt;
&lt;br /&gt;
GEOip on EA4 [https://grepitout.com/install-mod_geoip-cpanel-easyapache-4/ link]&lt;br /&gt;
&lt;br /&gt;
PHP Malware finder [https://github.com/nbs-system/php-malware-finder link]&lt;br /&gt;
&lt;br /&gt;
Ahsay on QNAP patch [http://wiki.ahsay.com/doku.php?id=public:5356_no_suitable_python_found_for_arm-x41_installation_issue_on_qnap link]&lt;/div&gt;</summary>
		<author><name>Meadmin</name></author>	</entry>

	<entry>
		<id>https://mywiki.romanost.co.il/index.php?title=Scripts&amp;diff=63</id>
		<title>Scripts</title>
		<link rel="alternate" type="text/html" href="https://mywiki.romanost.co.il/index.php?title=Scripts&amp;diff=63"/>
				<updated>2019-02-17T05:56:05Z</updated>
		
		<summary type="html">&lt;p&gt;Meadmin: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&lt;br /&gt;
== Flying replication ==&lt;br /&gt;
&lt;br /&gt;
 rsync -avz 192.168.1.122:/usr/local/apache/conf/ /usr/local/apache/conf/ --delete&lt;br /&gt;
 rsync -avz 192.168.1.122:/var/named/ /var/named/ --delete&lt;br /&gt;
 rsync -avz 192.168.1.122:/usr/local/cpanel/ /usr/local/cpanel/ --delete&lt;br /&gt;
 rsync -avz 192.168.1.122:/var/cpanel/ /var/cpanel --delete&lt;br /&gt;
 &lt;br /&gt;
 for x in `cat /etc/trueuserowners|grep -v &amp;quot;#&amp;quot;|cut -d: -f1`;do /usr/local/cpanel/bin/setsiteip -u $x `hostname -i` ;done;  &lt;br /&gt;
 &lt;br /&gt;
 /scripts/rebuildhttpdconf&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== WHM replication to clean server ==&lt;br /&gt;
&lt;br /&gt;
 #!/bin/bash&lt;br /&gt;
 rsync -avz 192.168.1.21:/etc/apache2/conf/ /etc/httpd/conf/&lt;br /&gt;
 rsync -avz 192.168.1.21:/var/cpanel/ssl/installed/ /etc/ssl/certs/&lt;br /&gt;
 rsync -avz 192.168.1.21:/etc/apache2/conf.d/includes/ /etc/httpd/conf.d/includes/&lt;br /&gt;
 rsync -avz 192.168.1.21:/var/cpanel/ssl/cpanel/ /etc/ssl/certs/cpanel/&lt;br /&gt;
 sed -i &amp;quot;s/192.168.1.21/`hostname -i`/g&amp;quot; /etc/httpd/conf/httpd.conf&lt;br /&gt;
 sed -i &amp;quot;s/\/var\/cpanel\/ssl\/installed\//\/etc\/ssl\/certs\//g&amp;quot; /etc/httpd/conf/httpd.conf&lt;br /&gt;
 sed -i &amp;quot;s/\/etc\/apache2\//\/etc\/httpd\//g&amp;quot; /etc/httpd/conf/httpd.conf&lt;br /&gt;
 sed -i &amp;quot;s/RewriteMap LeechProtect/\#RewriteMap LeechProtect/g&amp;quot; /etc/httpd/conf/httpd.conf&lt;br /&gt;
 sed -i &amp;quot;s/Mutex file:\/run\/apache2/\#Mutex file:\/run\/apache2/g&amp;quot; /etc/httpd/conf/httpd.conf&lt;br /&gt;
 sed -i &amp;quot;s/apache2/httpd/g&amp;quot; /etc/httpd/conf/httpd.conf&lt;br /&gt;
 sed -i &amp;quot;s/\/var\/cpanel\/ssl\/cpanel\//\/etc\/ssl\/certs\/cpanel\//g&amp;quot; /etc/httpd/conf/httpd.conf&lt;br /&gt;
 sed -i &amp;quot;s/Listen \[\:\:\]\:80/\#Listen \[\:\:\]\:80/g&amp;quot; /etc/httpd/conf/httpd.conf&lt;br /&gt;
 &lt;br /&gt;
 rsync -avz 192.168.1.21:/opt/cpanel/ea-php55/root/etc/php.ini /etc/&lt;br /&gt;
 rsync -avz 192.168.1.21:/etc/passwd /tmp/passwd&lt;br /&gt;
 rsync -avz 192.168.1.21:/etc/group /tmp/group&lt;br /&gt;
 &lt;br /&gt;
 var1=`cat /etc/passwd |awk -F &amp;#039;:&amp;#039; &amp;#039;$3 &amp;gt; 1000 &amp;amp;&amp;amp; $3 &amp;lt; 2000 {print $0}&amp;#039;`&lt;br /&gt;
 var2=`cat /tmp/passwd |awk -F &amp;#039;:&amp;#039; &amp;#039;$3 &amp;gt; 1000 &amp;amp;&amp;amp; $3 &amp;lt; 2000 {print $0}&amp;#039;`&lt;br /&gt;
 &lt;br /&gt;
 c1=`cat /etc/passwd |awk -F &amp;#039;:&amp;#039; &amp;#039;$3 &amp;gt; 1000 &amp;amp;&amp;amp; $3 &amp;lt; 2000 {print $0}&amp;#039;|wc -l`&lt;br /&gt;
 c2=`cat /tmp/passwd |awk -F &amp;#039;:&amp;#039; &amp;#039;$3 &amp;gt; 1000 &amp;amp;&amp;amp; $3 &amp;lt; 2000 {print $0}&amp;#039;|wc -l`&lt;br /&gt;
 &lt;br /&gt;
 if [ $c2 -gt $c1 ]; then&lt;br /&gt;
        newone=`comm --nocheck-order -13 &amp;lt;(echo $var1) &amp;lt;(echo $var2)`&lt;br /&gt;
        echo $newone &amp;gt;&amp;gt; /etc/passwd&lt;br /&gt;
 fi&lt;br /&gt;
 &lt;br /&gt;
 var1=`cat /etc/group |awk -F &amp;#039;:&amp;#039; &amp;#039;$3 &amp;gt; 1000 &amp;amp;&amp;amp; $3 &amp;lt; 2000 {print $0}&amp;#039;`&lt;br /&gt;
 var2=`cat /tmp/group |awk -F &amp;#039;:&amp;#039; &amp;#039;$3 &amp;gt; 1000 &amp;amp;&amp;amp; $3 &amp;lt; 2000 {print $0}&amp;#039;`&lt;br /&gt;
 &lt;br /&gt;
 c1=`cat /etc/group |awk -F &amp;#039;:&amp;#039; &amp;#039;$3 &amp;gt; 1000 &amp;amp;&amp;amp; $3 &amp;lt; 2000 {print $0}&amp;#039;|wc -l`&lt;br /&gt;
 c2=`cat /tmp/group |awk -F &amp;#039;:&amp;#039; &amp;#039;$3 &amp;gt; 1000 &amp;amp;&amp;amp; $3 &amp;lt; 2000 {print $0}&amp;#039;|wc -l`&lt;br /&gt;
 &lt;br /&gt;
 if [ $c2 -gt $c1 ]; then&lt;br /&gt;
        newone=`comm --nocheck-order -13 &amp;lt;(echo $var1) &amp;lt;(echo $var2)`&lt;br /&gt;
        echo $newone &amp;gt;&amp;gt; /etc/group&lt;br /&gt;
 fi&lt;br /&gt;
&lt;br /&gt;
== WHM replicate suphp to clean server ==&lt;br /&gt;
&lt;br /&gt;
 scp /usr/lib64/httpd/modules/mod_suphp.so 172.18.0.6:/usr/lib64/httpd/modules/&lt;br /&gt;
 scp /etc/httpd/conf.modules.d/90-suphp.conf 172.18.0.6:/etc/httpd/conf.modules.d/&lt;br /&gt;
 scp /usr/lib64/httpd/modules/mod_suphp.so 172.18.0.6:/usr/lib64/httpd/modules/&lt;br /&gt;
 scp /usr/sbin/suphp 172.18.0.6:/usr/sbin/&lt;br /&gt;
 scp /etc/suphp.conf 172.18.0.6:/etc/&lt;br /&gt;
 scp /etc/httpd/conf.d/php.conf 172.18.0.6:/etc/httpd/conf.d/&lt;br /&gt;
 scp /etc/httpd/conf.modules.d/10-php.conf 172.18.0.6:/etc/httpd/conf.modules.d/&lt;br /&gt;
 &lt;br /&gt;
 chown root.nobody /usr/sbin/suphp&lt;br /&gt;
 chmod 4750 /usr/sbin/suphp&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Sync nginx conf ==&lt;br /&gt;
&lt;br /&gt;
 #!/bin/bash&lt;br /&gt;
 &lt;br /&gt;
 servs=(192.168.0.11 192.168.0.12 192.168.0.15 192.168.0.16 192.168.0.17 192.168.0.19 192.168.0.20 192.168.0.21 192.168.0.22 192.168.0.23 192.168.0.24 192.168.0.26 192.168.0.115 192.168.0.116 192.168.0.117 192.168.0.118 192.168.0.29 192.168.0.30)&lt;br /&gt;
 &lt;br /&gt;
 for i in &amp;quot;${servs[@]}&amp;quot;&lt;br /&gt;
 do&lt;br /&gt;
        echo $i&lt;br /&gt;
        scp nginx_conf/nginx.conf $i:/etc/nginx/&lt;br /&gt;
        scp nginx_conf/.htpasswd $i:/etc/nginx/&lt;br /&gt;
        scp -r nginx_conf/conf.d $i:/etc/nginx/&lt;br /&gt;
        ssh $i &amp;#039;sed -i &amp;quot;s/Lxxx/`echo L\`hostname|cut -d &amp;quot;-&amp;quot; -f1|sed &amp;quot;s/web//&amp;quot;\``/g&amp;quot; /etc/nginx/conf.d/* &amp;amp;&amp;amp; service nginx restart&amp;#039;&lt;br /&gt;
 done&lt;br /&gt;
&lt;br /&gt;
== Manage CWM auto start and stop server ==&lt;br /&gt;
&lt;br /&gt;
 #!/bin/bash&lt;br /&gt;
 . keys.sh&lt;br /&gt;
 &lt;br /&gt;
 &lt;br /&gt;
 minservs=4&lt;br /&gt;
 maxservs=8&lt;br /&gt;
 locon=2500&lt;br /&gt;
 hicon=8000&lt;br /&gt;
 &lt;br /&gt;
 servs=($serv_01 $serv_02 $serv_03 $serv_04 $serv_05 $serv_06 $serv_07 $serv_08)&lt;br /&gt;
 onservs=0&lt;br /&gt;
 conns=0&lt;br /&gt;
 #echo ${servs[@]}&lt;br /&gt;
 &lt;br /&gt;
 for i in &amp;quot;${servs[@]}&amp;quot;&lt;br /&gt;
 do&lt;br /&gt;
        readarray -t values &amp;lt; &amp;lt;(curl -s -H &amp;quot;AuthClientId: ${clientId}&amp;quot; -H &amp;quot;AuthSecret: ${secret}&amp;quot; &amp;quot;https://console.cloudwm.com/service/server/${i}&amp;quot;|/root/api/jq -r &amp;#039;(map(values))[]&amp;#039;) # | egrep &amp;quot;power|ip&amp;quot;&lt;br /&gt;
        #echo ${values[6]} ##power&lt;br /&gt;
        #echo ${values[14]} |sed &amp;#039;s/\&amp;quot;//g&amp;#039; ##ips&lt;br /&gt;
        if [ ${values[6]} == &amp;#039;on&amp;#039; ]; then &lt;br /&gt;
                #onservs=$((onservs+1))&lt;br /&gt;
                ((onservs++))&lt;br /&gt;
                ip=$(echo ${values[14]} |tr -d \&amp;quot;\&amp;#039;\&amp;quot;,\&amp;quot;) ##ips&lt;br /&gt;
                curcon=$(ssh $ip &amp;quot;netstat -ant | grep :80 | wc -l&amp;quot;)&lt;br /&gt;
                #echo $ip , $curcon&lt;br /&gt;
                conns=$((conns+curcon))&lt;br /&gt;
        fi&lt;br /&gt;
        #declare -p values&lt;br /&gt;
 done&lt;br /&gt;
 &lt;br /&gt;
 #echo &amp;quot;On servers: &amp;quot; $onservs&lt;br /&gt;
 #echo &amp;quot;Connections: &amp;quot; $conns&lt;br /&gt;
 &lt;br /&gt;
 mid=$((conns/onservs))&lt;br /&gt;
 #echo &amp;quot;mid: &amp;quot; $mid&lt;br /&gt;
 &lt;br /&gt;
 if [[ $mid &amp;gt; $hicon ]] &amp;amp;&amp;amp; [[ $onservs &amp;lt; $maxservs ]]; then   ## power on +1&lt;br /&gt;
        #echo &amp;quot;hi&amp;quot;&lt;br /&gt;
        srv=${servs[onservs]}&lt;br /&gt;
        #echo $srv&lt;br /&gt;
        curl -s -H &amp;quot;AuthClientId: ${clientId}&amp;quot; -H &amp;quot;AuthSecret: ${secret}&amp;quot; -X PUT -d &amp;quot;power=on&amp;quot; &amp;quot;https://console.cloudwm.com/service/server/${srv}/power&amp;quot;&lt;br /&gt;
 &lt;br /&gt;
 elif [[ $mid &amp;lt; $locon ]] &amp;amp;&amp;amp; [[ $onservs &amp;gt; $minservs ]]; then   ## power off -1&lt;br /&gt;
        #echo &amp;quot;lo&amp;quot; $onservs&lt;br /&gt;
        srv=${servs[onservs-1]}&lt;br /&gt;
        #echo $srv&lt;br /&gt;
        curl -s -H &amp;quot;AuthClientId: ${clientId}&amp;quot; -H &amp;quot;AuthSecret: ${secret}&amp;quot; -X PUT -d &amp;quot;power=off&amp;quot; &amp;quot;https://console.cloudwm.com/service/server/${srv}/power&amp;quot;&lt;br /&gt;
 fi&lt;br /&gt;
&lt;br /&gt;
== SQL dump ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
 #!/bin/bash&lt;br /&gt;
 &lt;br /&gt;
 retain=7                                ## days to keep&lt;br /&gt;
 logdir=&amp;quot;/var/www/html/sqlbackups/&amp;quot;      ## dumps folder&lt;br /&gt;
 prename=&amp;quot;db_Backup&amp;quot;                     ## name prefix&lt;br /&gt;
 postname=&amp;quot;.sql.gz&amp;quot;                      ## name suffix&lt;br /&gt;
 mailaddr=&amp;quot;eitani@gmail.com&amp;quot;&lt;br /&gt;
 &lt;br /&gt;
 dumpcmd=&amp;quot;mysqldump --all-databases&amp;quot;&lt;br /&gt;
 date=`date +&amp;quot;%d%b%y&amp;quot;`&lt;br /&gt;
 tmst=&amp;#039;date +%Y%m%d-%H%M%S.%N&amp;#039;&lt;br /&gt;
 outstr=&amp;quot;[`$tmst`]: Dump started\n&amp;quot;&lt;br /&gt;
 &lt;br /&gt;
 fullname=$logdir$prename&amp;quot;_&amp;quot;$date$postname&lt;br /&gt;
 &lt;br /&gt;
 if [ -z &amp;quot;$logdir&amp;quot; ]; then&lt;br /&gt;
        outstr=$outstr&amp;quot;[`$tmst`]: Log directory not set\n&amp;quot;&lt;br /&gt;
        out=1&lt;br /&gt;
 else&lt;br /&gt;
        outstr=$outstr&amp;quot;[`$tmst`]: Running dump $dumpcmd | gzip -c &amp;gt; $fullname\n&amp;quot;&lt;br /&gt;
        $dumpcmd | gzip -c &amp;gt; $fullname&lt;br /&gt;
        out=$?&lt;br /&gt;
 fi&lt;br /&gt;
 &lt;br /&gt;
 if &amp;lt;nowiki&amp;gt;[[ $out = 0 ]]; then &amp;lt;/nowiki&amp;gt;&lt;br /&gt;
        outstr=$outstr&amp;quot;[`$tmst`]: Dump done, file: $fullname\n&amp;quot;&lt;br /&gt;
        outstr=$outstr&amp;quot;[`$tmst`]: Deleting old backups (older than $retain days) from folder: $logdir\n&amp;quot;&lt;br /&gt;
        outstr=$outstr&amp;quot;[`$tmst`]: Files to be deleted: `find $logdir -type f -mtime +$retain `\n&amp;quot;&lt;br /&gt;
        `find $logdir -type f -mtime +$retain -exec rm {} \;`&lt;br /&gt;
 else&lt;br /&gt;
        outstr=$outstr&amp;quot;[`$tmst`]: Dump failed\n&amp;quot;&lt;br /&gt;
 fi&lt;br /&gt;
 &lt;br /&gt;
 outstr=$outstr&amp;quot;[`$tmst`]: Script done\n&amp;quot;&lt;br /&gt;
 &lt;br /&gt;
 #echo -e $outstr&lt;br /&gt;
 &lt;br /&gt;
 mailtxt=&amp;quot;Subject: SQLdump on webbit server\nFrom: script@webbit.web\nTo: $mailaddr\n\n$outstr&amp;quot;&lt;br /&gt;
 echo -e $mailtxt | sendmail -t&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Check DNS zones ==&lt;br /&gt;
&lt;br /&gt;
 #!/bin/bash&lt;br /&gt;
 &lt;br /&gt;
 iparr=()&lt;br /&gt;
 ipbad=()&lt;br /&gt;
 &lt;br /&gt;
 tempfile=&amp;quot;/tmp/zonetempfile.db&amp;quot;&lt;br /&gt;
 backupdir=&amp;quot;/root/oldzones&amp;quot;&lt;br /&gt;
 &lt;br /&gt;
 getzones () {&lt;br /&gt;
        zones=($(find /var/named/*.db -printf &amp;#039;%f\n&amp;#039;|sed &amp;#039;s/\.db//g&amp;#039;))&lt;br /&gt;
        #echo $zones&lt;br /&gt;
 }&lt;br /&gt;
 &lt;br /&gt;
 findoffs () {&lt;br /&gt;
        fl=$1&lt;br /&gt;
        a=()&lt;br /&gt;
        #echo &amp;quot;File: &amp;quot; $fl&lt;br /&gt;
        #cat $fl | while read line&lt;br /&gt;
        #do&lt;br /&gt;
        while read -r line&lt;br /&gt;
        do&lt;br /&gt;
                #echo &amp;quot;line: &amp;quot;$line&lt;br /&gt;
  &amp;lt;nowiki&amp;gt;              if [[ &amp;quot;${line:0:1}&amp;quot; == &amp;quot;;&amp;quot; ]] &amp;amp;&amp;amp; [[ $line == *&amp;quot;IN A&amp;quot;* ]] ; then&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
                        addr=$(echo $line|awk &amp;#039;{print $4}&amp;#039;)&lt;br /&gt;
                        #echo &amp;quot;adr:&amp;quot; $addr&lt;br /&gt;
                        checkip $addr&lt;br /&gt;
                        #echo done&lt;br /&gt;
                        changed+=($res)&lt;br /&gt;
                fi&lt;br /&gt;
        done &amp;lt; &amp;lt;(cat $fl)&lt;br /&gt;
        #done&lt;br /&gt;
 }&lt;br /&gt;
 &lt;br /&gt;
 checkip () {&lt;br /&gt;
        ipad=$1&lt;br /&gt;
        #echo $ipad&lt;br /&gt;
        if [[ &amp;quot;${iparr[@]}&amp;quot; =~ &amp;quot;i${ipad}i&amp;quot; ]]; then&lt;br /&gt;
        #if [[ &amp;quot;${iparr[@]}&amp;quot; == &amp;quot;${ipad}&amp;quot; ]]; then&lt;br /&gt;
                #echo &amp;quot;Found: &amp;quot; $ipad&lt;br /&gt;
                return 0&lt;br /&gt;
        elif [[ &amp;quot;${ipbad[@]}&amp;quot; =~ &amp;quot;i${ipad}i&amp;quot; ]]; then&lt;br /&gt;
                #echo &amp;quot;found bad: &amp;quot; $ipad&lt;br /&gt;
                return 1&lt;br /&gt;
        else&lt;br /&gt;
                #echo &amp;quot;Not found: &amp;quot; $ipad&lt;br /&gt;
                timeout 2 ping -c 1 $addr &amp;gt; /dev/null&lt;br /&gt;
                res=$?&lt;br /&gt;
                ii=&amp;quot;i&amp;quot;$ipad&amp;quot;i&amp;quot;&lt;br /&gt;
                if [[ $res == 0 ]]; then&lt;br /&gt;
                        #echo $ii&lt;br /&gt;
                        #iparr+=($ipad)&lt;br /&gt;
                        iparr+=($ii)&lt;br /&gt;
                        #echo &amp;quot;add to good: &amp;quot;$ii&lt;br /&gt;
                        return 0&lt;br /&gt;
                else&lt;br /&gt;
                        ipbad+=($ii)&lt;br /&gt;
                        #echo &amp;quot;add to bad: &amp;quot;$ii &amp;quot;, old: &amp;quot;${ipbad[@]}&lt;br /&gt;
                        return 1&lt;br /&gt;
                fi&lt;br /&gt;
                #echo &amp;quot;no&amp;quot;&lt;br /&gt;
        fi&lt;br /&gt;
 }&lt;br /&gt;
 &lt;br /&gt;
 parsezone () {&lt;br /&gt;
        zone=$1&lt;br /&gt;
        #echo &amp;quot;Zone: &amp;quot; $zone&lt;br /&gt;
        fname=&amp;quot;/var/named/$1.db&amp;quot;&lt;br /&gt;
        #echo &amp;quot;Name: &amp;quot; $fname&lt;br /&gt;
        parsed=($(named-checkzone -q -i none -s full -D $1 /var/named/$1.db | egrep &amp;quot;IN SOA|IN A&amp;quot;))&lt;br /&gt;
        #for i in `named-checkzone -q -i none -s full -D $1 /var/named/$1.db | egrep &amp;quot;IN SOA|IN A&amp;quot;`&lt;br /&gt;
        #do&lt;br /&gt;
        #       echo &amp;quot;u: &amp;quot; $i&lt;br /&gt;
        #done&lt;br /&gt;
 &lt;br /&gt;
 &lt;br /&gt;
        #echo &amp;quot;Parsed: &amp;quot; $parsed&lt;br /&gt;
        for i in ${parsed[@]}&lt;br /&gt;
        do&lt;br /&gt;
                #echo &amp;quot;z: &amp;quot; $zone &amp;quot;i: &amp;quot; $i&lt;br /&gt;
                if [[ $i == *&amp;quot;SOA&amp;quot;* ]]; then&lt;br /&gt;
                        ser=$(echo $i|awk &amp;#039;{print $7}&amp;#039;)&lt;br /&gt;
                        #echo &amp;quot;Ser: &amp;quot; $ser&lt;br /&gt;
                elif [[ $i == *&amp;quot;IN A&amp;quot;* ]]; then&lt;br /&gt;
                        host=$(echo $i|awk &amp;#039;{print $1}&amp;#039;)&lt;br /&gt;
                        addr=$(echo $i|awk &amp;#039;{print $5}&amp;#039;)&lt;br /&gt;
                        #echo &amp;quot;Pinging: *&amp;quot;$addr&amp;quot;*&amp;quot;&lt;br /&gt;
                        #timeout 3 ping -c 1 $addr #&amp;gt; /dev/null&lt;br /&gt;
                        checkip $addr&lt;br /&gt;
                        res=$?&lt;br /&gt;
                        let changed+=($res)&lt;br /&gt;
                        if [[ $res &amp;gt; 0 ]]; then&lt;br /&gt;
                                toblock+=($addr)&lt;br /&gt;
                        fi&lt;br /&gt;
                        #echo &amp;quot;Host: &amp;quot; $host &amp;quot;Addr: &amp;quot; $addr &amp;quot;Res: &amp;quot; $res&lt;br /&gt;
                fi&lt;br /&gt;
        done&lt;br /&gt;
        #echo &amp;quot;Block: &amp;quot; $toblock&lt;br /&gt;
        #echo &amp;quot;Parsed: &amp;quot; ${parsed[@]}&lt;br /&gt;
        #sers=$(echo $parsed|grep SOA|awk &amp;#039;{print $7}&amp;#039;)&lt;br /&gt;
        #sers=$(echo $parsed|grep SOA)&lt;br /&gt;
        #arec=$(echo $parsed|grep &amp;quot;IN A&amp;quot;)&lt;br /&gt;
        #echo &amp;quot;ser: &amp;quot; $sers&lt;br /&gt;
        #echo ${arec[@]}&lt;br /&gt;
        #for i in &amp;quot;${arec[@]}&amp;quot;&lt;br /&gt;
        #do&lt;br /&gt;
        #       echo &amp;quot;As: &amp;quot; $i&lt;br /&gt;
        #done&lt;br /&gt;
 }&lt;br /&gt;
 &lt;br /&gt;
 updatezone () {&lt;br /&gt;
        uzone=$1&lt;br /&gt;
        zname=$2&lt;br /&gt;
        newser=$((ser+1))&lt;br /&gt;
        #echo &amp;quot;old ser&amp;quot; $ser&lt;br /&gt;
        #echo &amp;quot;new ser&amp;quot; $newser&lt;br /&gt;
        cp $zname /root/scripts/&lt;br /&gt;
 &lt;br /&gt;
        sed -i &amp;quot;s/$ser/$newser/&amp;quot; $zname   # update serial&lt;br /&gt;
        infile=$(cat $zname)&lt;br /&gt;
        #outfile=&amp;quot;z.z&amp;quot;&lt;br /&gt;
        outfile=tempfile&lt;br /&gt;
        &amp;gt; $outfile&lt;br /&gt;
        #echo $infile&lt;br /&gt;
        for f1 in $infile&lt;br /&gt;
        do&lt;br /&gt;
                #echo &amp;quot; - &amp;quot;$f1&lt;br /&gt;
                newline=$f1&lt;br /&gt;
                if [[ &amp;quot;${f1:0:1}&amp;quot; == &amp;quot;;&amp;quot; ]] &amp;amp;&amp;amp; [[ $f1 == *&amp;quot;IN A&amp;quot;* ]] ; then&lt;br /&gt;
                        fip=$(echo $f1|awk &amp;#039;{print $4}&amp;#039;)&lt;br /&gt;
                        #echo &amp;quot;add: &amp;quot;$fip&lt;br /&gt;
                        if ! [[ &amp;quot;${ipbad[@]}&amp;quot; =~ &amp;quot;i${fip}i&amp;quot; ]]; then&lt;br /&gt;
                                #echo &amp;quot;remove from bad&amp;quot; $fip&lt;br /&gt;
                                newline=$(echo $f1|sed -r &amp;#039;s/^.{1}//&amp;#039;)&lt;br /&gt;
                                #echo &amp;quot;new: &amp;quot;$newline&lt;br /&gt;
                        fi&lt;br /&gt;
                elif [[ $f1 == *&amp;quot;IN A&amp;quot;*  ]]; then&lt;br /&gt;
                        fip=$(echo $f1|awk &amp;#039;{print $4}&amp;#039;)&lt;br /&gt;
                        #echo &amp;quot;add: &amp;quot;$fip&lt;br /&gt;
                        if ! [[ &amp;quot;${iparr[@]}&amp;quot; =~ &amp;quot;i${fip}i&amp;quot; ]]; then&lt;br /&gt;
                                #echo &amp;quot;remove from good&amp;quot; $fip&lt;br /&gt;
                                newline=&amp;quot;;&amp;quot;$f1&lt;br /&gt;
                                #echo &amp;quot;new: &amp;quot;$newline&lt;br /&gt;
                        fi&lt;br /&gt;
                fi&lt;br /&gt;
                echo $newline &amp;gt;&amp;gt; $outfile&lt;br /&gt;
        done&lt;br /&gt;
        cat $outfile &amp;gt; $zname&lt;br /&gt;
 }&lt;br /&gt;
 &lt;br /&gt;
 IFS=&amp;#039;&lt;br /&gt;
 &amp;#039;&lt;br /&gt;
 &lt;br /&gt;
 #zone=&amp;quot;eye-t.co.il&amp;quot;&lt;br /&gt;
 getzones&lt;br /&gt;
 #echo $zones&lt;br /&gt;
 &lt;br /&gt;
 #if [ ! -d $backupdir ]; then&lt;br /&gt;
 #       echo &amp;quot;nofolder&amp;quot;&lt;br /&gt;
 #       mkdir $backupdir&lt;br /&gt;
 #fi&lt;br /&gt;
 &lt;br /&gt;
 curdate=$(date +&amp;quot;%Y%m%d-%H%M%S&amp;quot;)&lt;br /&gt;
 &lt;br /&gt;
 #echo $curdate&lt;br /&gt;
 &lt;br /&gt;
 for zone in &amp;quot;${zones[@]}&amp;quot;&lt;br /&gt;
 do&lt;br /&gt;
        changed=0&lt;br /&gt;
        toblock=()&lt;br /&gt;
        toallow=()&lt;br /&gt;
 &lt;br /&gt;
        parsezone $zone&lt;br /&gt;
        #echo $fname&lt;br /&gt;
        findoffs $fname&lt;br /&gt;
        #echo &amp;quot;change: &amp;quot; $changed&lt;br /&gt;
        #echo &amp;quot;good: &amp;quot; ${iparr[@]}&lt;br /&gt;
        #echo &amp;quot;bad: &amp;quot; ${ipbad[@]}&lt;br /&gt;
        if [[ $changed &amp;gt; 0 ]]; then&lt;br /&gt;
                if [ ! -d $backupdir/$curdate ]; then&lt;br /&gt;
                        mkdir $backupdir/$curdate -p&lt;br /&gt;
                fi&lt;br /&gt;
                echo &amp;quot;zone: &amp;quot; $zone &amp;quot;changed!!!&amp;quot;&lt;br /&gt;
                cp $fname $backupdir/$curdate/&lt;br /&gt;
                updatezone $zone $fname&lt;br /&gt;
        fi&lt;br /&gt;
 done&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Get all CFS users ==&lt;br /&gt;
&lt;br /&gt;
After login, save the cookie.&lt;br /&gt;
&lt;br /&gt;
Get all organizations:&lt;br /&gt;
 curl --cookie &amp;quot;cwmid=001; PHPSESSID=xxx&amp;quot; &amp;quot;https://null.cloudwm.com/svc/fileserver/groups?size=500&amp;amp;sortBy=name&amp;amp;sortAsc=true&amp;amp;filter=&amp;amp;from=&amp;quot;|jq -r &amp;#039;(map(values))[]&amp;#039;|grep &amp;quot;\&amp;quot;id&amp;quot;|cut -d&amp;quot;\&amp;quot;&amp;quot; -f4&lt;br /&gt;
&lt;br /&gt;
Get users of an organization:&lt;br /&gt;
 curl --cookie &amp;quot;cwmid=001; PHPSESSID=xxx&amp;quot; &amp;quot;https://null.cloudwm.com/svc/fileserver/group/$i&amp;quot;|jq -r &amp;#039;(map(values))[]&amp;#039;|grep &amp;quot;email&amp;quot;|cut -d&amp;quot;\&amp;quot;&amp;quot; -f4&lt;br /&gt;
&lt;br /&gt;
Get full list of all users:&lt;br /&gt;
 IFS=$&amp;#039;\n&amp;#039; ; for i in `curl --cookie &amp;quot;cwmid=001; PHPSESSID=xxx&amp;quot; &amp;quot;https://null.cloudwm.com/svc/fileserver/groups?size=500&amp;amp;sortBy=name&amp;amp;sortAsc=true&amp;amp;filter=&amp;amp;from=&amp;quot;|jq -r &amp;#039;(map(values))[]&amp;#039;|grep &amp;quot;\&amp;quot;id&amp;quot;|cut -d&amp;quot;\&amp;quot;&amp;quot; -f4`; do z=$(echo $i|sed &amp;#039;s/ /%20/g&amp;#039;) ; curl --cookie &amp;quot;cwmid=001; PHPSESSID=xxx&amp;quot; &amp;quot;https://null.cloudwm.com/svc/fileserver/group/$z&amp;quot;|jq -r &amp;#039;(map(values))[]&amp;#039;|grep &amp;quot;email&amp;quot;|cut -d&amp;quot;\&amp;quot;&amp;quot; -f4;done&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Clone servers ==&lt;br /&gt;
&lt;br /&gt;
 #!/bin/bash&lt;br /&gt;
 ###########################################    README    ###########################################################################&lt;br /&gt;
 ## make sure to use followin jq binary: https://github.com/stedolan/jq/releases/download/jq-1.5/jq-linux64 &lt;br /&gt;
 ## before running the script change, parameters in settings and copy ssh key to all haproxies&lt;br /&gt;
 ## made for web servers only , modify the function if you wish to use for different balancing modes&lt;br /&gt;
 #####################################################################################################################################&lt;br /&gt;
 &lt;br /&gt;
 while [ -z $numbers ];do&lt;br /&gt;
 &lt;br /&gt;
 read -p  &amp;quot;How many servers you want to clone?: &amp;quot; numbers&lt;br /&gt;
 &lt;br /&gt;
 done&lt;br /&gt;
 &lt;br /&gt;
 cloneServer () {&lt;br /&gt;
 &lt;br /&gt;
     ################ Settings ################&lt;br /&gt;
                 src=&amp;quot;xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx&amp;quot;&lt;br /&gt;
                 clientId=&amp;quot;xxxxxxxxxxxxxxxxxxxxxxxxxxxxxx&amp;quot;&lt;br /&gt;
                 secret=&amp;quot;xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx&amp;quot;&lt;br /&gt;
                 haproxy1=&amp;quot;xxx.xxx.xx.xx&amp;quot;&lt;br /&gt;
                 haproxy2=&amp;quot;xxx.xxx.xxx.xx&amp;quot;&lt;br /&gt;
                 prefix=&amp;quot;web&amp;quot;&lt;br /&gt;
                 domainsuff=&amp;quot;example.com&amp;quot;&lt;br /&gt;
                 dc=&amp;quot;IL&amp;quot;&lt;br /&gt;
                 cpu=&amp;quot;1D&amp;quot;&lt;br /&gt;
                 billing=&amp;quot;hourly&amp;quot;&lt;br /&gt;
                 power=&amp;quot;on&amp;quot;&lt;br /&gt;
                 port=&amp;quot;80&amp;quot; &lt;br /&gt;
     ############### END SETTINGS #############&lt;br /&gt;
 &lt;br /&gt;
                 NC=&amp;#039;\033[0m&amp;#039;&lt;br /&gt;
                 GREEN=&amp;#039;\033[0;32m&amp;#039;&lt;br /&gt;
                 YELLOW=&amp;#039;\033[0;33m&amp;#039;&lt;br /&gt;
                 &lt;br /&gt;
                 last=$(curl -s -H &amp;quot;AuthClientId: ${clientId}&amp;quot; -H &amp;quot;AuthSecret: ${secret}&amp;quot; &amp;quot;https://api.cloudwm.com/service/servers&amp;quot; | jq &amp;#039;.[] | select( .datacenter | contains(&amp;quot;&amp;#039;&amp;quot;${dc}&amp;quot;&amp;#039;&amp;quot;))&amp;#039; | jq &amp;#039;. | select( .name | startswith(&amp;quot;&amp;#039;&amp;quot;${prefix}&amp;quot;&amp;#039;&amp;quot;)) | .name&amp;#039; | cut -d&amp;#039;_&amp;#039; -f1 | grep -Eo &amp;#039;[0-9]{1,9}&amp;#039; | tail -1)&lt;br /&gt;
 &lt;br /&gt;
                 name=&amp;quot;${prefix}$((last+1)).${domainsuff}&amp;quot;&lt;br /&gt;
 &lt;br /&gt;
                 lastname=&amp;quot;${prefix}${last}.${domainsuff}&amp;quot;&lt;br /&gt;
 &lt;br /&gt;
 &lt;br /&gt;
                 curl -H &amp;quot;AuthClientId: ${clientId}&amp;quot; -H &amp;quot;AuthSecret: ${secret}&amp;quot; -X POST -d &amp;quot;source=${src}&amp;amp;name=${name}&amp;amp;cpu=${cpu}&amp;amp;billing=${billing}&amp;amp;power=${power}&amp;quot; &amp;quot;https://console.clubvps.com/service/server&amp;quot;&lt;br /&gt;
 &lt;br /&gt;
                 echo &amp;quot;&amp;quot;&lt;br /&gt;
 &lt;br /&gt;
                 while [ -z &amp;quot;$newserverid&amp;quot; ] ;do&lt;br /&gt;
 &lt;br /&gt;
                 newserverid=$(curl -s -H &amp;quot;AuthClientId: ${clientId}&amp;quot; -H &amp;quot;AuthSecret: ${secret}&amp;quot; &amp;quot;https://api.cloudwm.com/service/servers&amp;quot; | jq &amp;#039;.[] | select( .datacenter | contains(&amp;quot;&amp;#039;&amp;quot;${dc}&amp;quot;&amp;#039;&amp;quot;))&amp;#039; | jq &amp;#039;. | select( .name | startswith(&amp;quot;&amp;#039;&amp;quot;${name}&amp;quot;&amp;#039;&amp;quot;)) | .id&amp;#039; | cut -d&amp;#039;&amp;quot;&amp;#039; -f2 | tail -1)&lt;br /&gt;
 &lt;br /&gt;
                 sleep 5&lt;br /&gt;
 &lt;br /&gt;
                 echo -e ${YELLOW}Waiting for new server named: ${GREEN}${name}${NC} ${YELLOW}to clone${NC}&lt;br /&gt;
 &lt;br /&gt;
                 done&lt;br /&gt;
 &lt;br /&gt;
                 newserverip=`curl -s -H &amp;quot;AuthClientId: ${clientId}&amp;quot; -H &amp;quot;AuthSecret: ${secret}&amp;quot; &amp;quot;https://api.cloudwm.com/service/server/${newserverid}&amp;quot; | jq &amp;#039;.networks[].ips[]&amp;#039; | cut -d&amp;#039;&amp;quot;&amp;#039; -f2`&lt;br /&gt;
 &lt;br /&gt;
                 echo -e created new server named: ${GREEN}${name}${NC} with the ip: ${GREEN}${newserverip}${NC}&lt;br /&gt;
 &lt;br /&gt;
                 echo -e ${GREEN}updating haproxies${NC}&lt;br /&gt;
 &lt;br /&gt;
 &lt;br /&gt;
                 ssh root@${haproxy1} &amp;#039;export &amp;#039;&amp;quot;lastname=$lastname&amp;quot;&amp;#039; &amp;amp;&amp;amp; lastad=$(cat /etc/haproxy/haproxy.cfg | grep -e $lastname) &amp;amp;&amp;amp; echo sed -i \&amp;quot;/${lastad}/a server &amp;#039;&amp;quot;${name}&amp;quot;&amp;#039; &amp;#039;&amp;quot;${newserverip}&amp;quot;&amp;#039;:&amp;#039;&amp;quot;${port}&amp;quot;&amp;#039; check\&amp;quot; /etc/haproxy/haproxy.cfg &amp;gt; cmd.txt | cat cmd.txt|bash &amp;amp;&amp;amp; service haproxy reload&amp;#039;&lt;br /&gt;
                 ssh root@${haproxy1} &amp;#039;export &amp;#039;&amp;quot;lastname=$lastname&amp;quot;&amp;#039; &amp;amp;&amp;amp; lastad=$(cat /etc/haproxy/haproxy.cfg | grep -e $lastname) &amp;amp;&amp;amp; echo sed -i \&amp;quot;/${lastad}/a server &amp;#039;&amp;quot;${name}&amp;quot;&amp;#039; &amp;#039;&amp;quot;${newserverip}&amp;quot;&amp;#039;:&amp;#039;&amp;quot;${port}&amp;quot;&amp;#039; check\&amp;quot; /etc/haproxy/haproxy.cfg &amp;gt; cmd.txt | cat cmd.txt|bash &amp;amp;&amp;amp; service haproxy reload&amp;#039;&lt;br /&gt;
                 &lt;br /&gt;
                 sleep 5&lt;br /&gt;
                 echo -e ${GREEN}done${NC}&lt;br /&gt;
 &lt;br /&gt;
 &lt;br /&gt;
 &lt;br /&gt;
 }&lt;br /&gt;
 &lt;br /&gt;
 while [ $numbers -gt 0 ];&lt;br /&gt;
 do&lt;br /&gt;
 &lt;br /&gt;
         cloneServer;&lt;br /&gt;
 &lt;br /&gt;
 numbers=$(($numbers-1))&lt;br /&gt;
 &lt;br /&gt;
 done&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Fix Centos 5 Repos ==&lt;br /&gt;
&lt;br /&gt;
 rel=$(lsb_release -d | egrep -o &amp;#039;[0-9]\.[0-9]{1,2}&amp;#039;)&lt;br /&gt;
 file=&amp;quot;/etc/yum.repos.d/CentOS-Base.repo&amp;quot;&lt;br /&gt;
 sed -i.bak &amp;#039;s/mirror.centos.org\/centos\/$releasever/vault.centos.org\/&amp;#039;&amp;quot;$rel&amp;quot;&amp;#039;/g&amp;#039; $file&lt;br /&gt;
 sed -i &amp;#039;s/\#baseurl/baseurl/g&amp;#039; $file&lt;br /&gt;
 sed -i &amp;#039;s/mirror=*/\#mirrorlist=*/g&amp;#039; $file&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Long version:&lt;br /&gt;
&lt;br /&gt;
 echo y | cp /etc/yum.repos.d/CentOS-Base.repo /etc/yum.repos.d/CentOS-Base.repo.bak&lt;br /&gt;
 rel=$(lsb_release -d | egrep -o &amp;#039;[0-9]\.[0-9]{1,2}&amp;#039;)&lt;br /&gt;
 sed -i &amp;#039;s/\#baseurl=http:\/\/mirror.centos.org\/centos\/$releasever\/os\/$basearch\//baseurl=http:\/\/vault.centos.org\/&amp;#039;&amp;quot;$rel&amp;quot;&amp;#039;\/os\/$basearch/g&amp;#039; /etc/yum.repos.d/CentOS-Base.repo&lt;br /&gt;
 sed -i &amp;#039;s/\#baseurl=http:\/\/mirror.centos.org\/centos\/$releasever\/updates\/$basearch\//baseurl=http:\/\/vault.centos.org\/&amp;#039;&amp;quot;$rel&amp;quot;&amp;#039;\/updates\/$basearch/g&amp;#039; /etc/yum.repos.d/CentOS-Base.repo&lt;br /&gt;
 sed -i &amp;#039;s/\#baseurl=http:\/\/mirror.centos.org\/centos\/$releasever\/extras\/$basearch\//baseurl=http:\/\/vault.centos.org\/&amp;#039;&amp;quot;$rel&amp;quot;&amp;#039;\/extras\/$basearch/g&amp;#039; /etc/yum.repos.d/CentOS-Base.repo&lt;br /&gt;
 sed -i &amp;#039;s/\#baseurl=http:\/\/mirror.centos.org\/centos\/$releasever\/centosplus\/$basearch\//baseurl=http:\/\/vault.centos.org\/&amp;#039;&amp;quot;$rel&amp;quot;&amp;#039;\/centosplus\/$basearch/g&amp;#039; /etc/yum.repos.d/CentOS-Base.repo&lt;br /&gt;
 sed -i &amp;#039;s/\#baseurl=http:\/\/mirror.centos.org\/centos\/$releasever\/contrib\/$basearch\//baseurl=http:\/\/vault.centos.org\/&amp;#039;&amp;quot;$rel&amp;quot;&amp;#039;\/contrib\/$basearch/g&amp;#039; /etc/yum.repos.d/CentOS-Base.repo&lt;br /&gt;
 sed -i &amp;#039;s/\mirror=*/\#mirrorlist=*/g&amp;#039; /etc/yum.repos.d/CentOS-Base.repo&lt;/div&gt;</summary>
		<author><name>Meadmin</name></author>	</entry>

	<entry>
		<id>https://mywiki.romanost.co.il/index.php?title=Dockers&amp;diff=62</id>
		<title>Dockers</title>
		<link rel="alternate" type="text/html" href="https://mywiki.romanost.co.il/index.php?title=Dockers&amp;diff=62"/>
				<updated>2019-02-11T14:16:04Z</updated>
		
		<summary type="html">&lt;p&gt;Meadmin: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&lt;br /&gt;
&lt;br /&gt;
== Show all containers ==&lt;br /&gt;
&lt;br /&gt;
 docker ps -a&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Create mysql Docker with mapping to host ==&lt;br /&gt;
&lt;br /&gt;
 docker run --name mysqldb -v /data/mysql:/var/lib/mysql -e MYSQL_ROOT_PASSWORD=&amp;quot;qweQWE123&amp;quot; -p 3306:3306 -it mysql/mysql-server:5.7&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== SSH to a container ==&lt;br /&gt;
&lt;br /&gt;
 docker exec -it mysqldb &amp;quot;bash&amp;quot;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== exit container without closing ==&lt;br /&gt;
 &lt;br /&gt;
 crtl+shift+D&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== container specific logs (to view the output of commands running in container) ==&lt;br /&gt;
 docker logs mysqldb &lt;br /&gt;
&lt;br /&gt;
== Create volume and map container to it ==&lt;br /&gt;
&lt;br /&gt;
 docker volume create vol1&lt;br /&gt;
 docker run --name mysqldb_map -v vol1:/var/lib/mysql -e MYSQL_ROOT_PASSWORD=&amp;quot;qweQWE123&amp;quot; -p 3306:3306 -it mysql/mysql-server:5.7&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== view details for specific docker ==&lt;br /&gt;
 &lt;br /&gt;
 docker inspect mysqldb_map &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== rename a container ==&lt;br /&gt;
 &lt;br /&gt;
 docker rename CONTAINER NEW_NAME&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== copy files into docker container ==&lt;br /&gt;
 &lt;br /&gt;
 docker cp 1.txt mycontainer:/1.txt&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== run docker to map port 9000 to forward 3306 ==&lt;br /&gt;
 &lt;br /&gt;
 docker run -d -p 3306:9000 dockercloud/mysql&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Allow outbound forwarding for the container to the world ==&lt;br /&gt;
&lt;br /&gt;
on the host server run the following command:&lt;br /&gt;
 sysctl net.ipv4.conf.all.forwarding=1&lt;br /&gt;
 iptables -P FORWARD ACCEPT&lt;/div&gt;</summary>
		<author><name>Meadmin</name></author>	</entry>

	<entry>
		<id>https://mywiki.romanost.co.il/index.php?title=Main_Page&amp;diff=61</id>
		<title>Main Page</title>
		<link rel="alternate" type="text/html" href="https://mywiki.romanost.co.il/index.php?title=Main_Page&amp;diff=61"/>
				<updated>2019-02-11T12:01:49Z</updated>
		
		<summary type="html">&lt;p&gt;Meadmin: /* List of content */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&lt;br /&gt;
== List of content ==&lt;br /&gt;
&lt;br /&gt;
[[Windows]]&lt;br /&gt;
&lt;br /&gt;
[[Linux]]&lt;br /&gt;
&lt;br /&gt;
[[Dbs]]&lt;br /&gt;
&lt;br /&gt;
[[Mails]]&lt;br /&gt;
&lt;br /&gt;
[[Exim]]&lt;br /&gt;
&lt;br /&gt;
[[Dockers]]&lt;/div&gt;</summary>
		<author><name>Meadmin</name></author>	</entry>

	<entry>
		<id>https://mywiki.romanost.co.il/index.php?title=Dockers&amp;diff=60</id>
		<title>Dockers</title>
		<link rel="alternate" type="text/html" href="https://mywiki.romanost.co.il/index.php?title=Dockers&amp;diff=60"/>
				<updated>2019-02-11T12:01:24Z</updated>
		
		<summary type="html">&lt;p&gt;Meadmin: Created page with &amp;quot;  == Show all containers ==   docker ps -a   == Create mysql Docker with mapping to host ==   docker run --name mysqldb -v /data/mysql:/var/lib/mysql -e MYSQL_ROOT_PASSWORD=&amp;quot;q...&amp;quot;&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&lt;br /&gt;
&lt;br /&gt;
== Show all containers ==&lt;br /&gt;
&lt;br /&gt;
 docker ps -a&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Create mysql Docker with mapping to host ==&lt;br /&gt;
&lt;br /&gt;
 docker run --name mysqldb -v /data/mysql:/var/lib/mysql -e MYSQL_ROOT_PASSWORD=&amp;quot;qweQWE123&amp;quot; -p 3306:3306 -it mysql/mysql-server:5.7&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== SSH to a container ==&lt;br /&gt;
&lt;br /&gt;
 docker exec -it mysqldb &amp;quot;bash&amp;quot;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Create volume and map container to it ==&lt;br /&gt;
&lt;br /&gt;
 docker volume create vol1&lt;br /&gt;
 docker run --name mysqldb_map -v vol1:/var/lib/mysql -e MYSQL_ROOT_PASSWORD=&amp;quot;qweQWE123&amp;quot; -p 3306:3306 -it mysql/mysql-server:5.7&lt;/div&gt;</summary>
		<author><name>Meadmin</name></author>	</entry>

	<entry>
		<id>https://mywiki.romanost.co.il/index.php?title=Linux&amp;diff=59</id>
		<title>Linux</title>
		<link rel="alternate" type="text/html" href="https://mywiki.romanost.co.il/index.php?title=Linux&amp;diff=59"/>
				<updated>2019-02-06T05:52:27Z</updated>
		
		<summary type="html">&lt;p&gt;Meadmin: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&lt;br /&gt;
== Wordpress login attack check ==&lt;br /&gt;
&lt;br /&gt;
 &amp;#039;&amp;#039;&amp;#039;Crontab :&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
 0 */6 * * *  sh /root/wplogin.sh&lt;br /&gt;
 &lt;br /&gt;
 &amp;#039;&amp;#039;&amp;#039;Script :&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
 #!/bin/bash&lt;br /&gt;
 &lt;br /&gt;
 ###start editing&lt;br /&gt;
 thold=&amp;quot;100&amp;quot;&lt;br /&gt;
 btime=&amp;quot;359m&amp;quot;&lt;br /&gt;
 ###stop editing&lt;br /&gt;
 &lt;br /&gt;
 egrep &amp;#039;wp-login.php&amp;#039; /usr/local/apache/domlogs/* | grep -v ftp_log | awk -F : &amp;#039;{print $2}&amp;#039; | awk &amp;#039;{print $1}&amp;#039; | sort | uniq -c | sort -n | awk -v limit=&amp;quot;$thold&amp;quot; &amp;#039;$1 &amp;gt; limit{print $2}&amp;#039; &amp;gt; $$_ip_$$&lt;br /&gt;
 &lt;br /&gt;
 while IFS= read -r line&lt;br /&gt;
         do&lt;br /&gt;
                 /usr/sbin/csf -td &amp;quot;$line&amp;quot;  &amp;quot;$btime&amp;quot; &amp;quot;banned for wordpress attack&amp;quot;&lt;br /&gt;
         done &amp;lt; $$_ip_$$&lt;br /&gt;
 rm -f $$_ip_$$&lt;br /&gt;
&lt;br /&gt;
== Prevent OOM killer ==&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Edit file /etc/sysctl.conf&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
 &lt;br /&gt;
 vm.overcommit_memory = 2 &lt;br /&gt;
 vm.overcommit_ratio = 100&lt;br /&gt;
&lt;br /&gt;
In case of bad memory usage (php out of memory) use this settings:&lt;br /&gt;
&lt;br /&gt;
 vm.overcommit_memory = 0&lt;br /&gt;
 vm.overcommit_ratio = 80&lt;br /&gt;
&lt;br /&gt;
== Who is using SWAP ==&lt;br /&gt;
 grep VmSwap /proc/*/status 2&amp;gt;/dev/null | sort -nk2 | tail -n5&lt;br /&gt;
&lt;br /&gt;
Print with the process command:&lt;br /&gt;
 grep VmSwap /proc/*/status 2&amp;gt;/dev/null | sort -nk2 | tail -n5|awk -F&amp;#039;/&amp;#039; &amp;#039;{cmd=&amp;quot;cat /proc/&amp;quot; $3 &amp;quot;/cmdline&amp;quot;; cmd|getline var; close (cmd); printf $0 &amp;quot;\t&amp;quot;; print var}&amp;#039;  &lt;br /&gt;
&lt;br /&gt;
== Plesk on CentOS 12 bind fix ==&lt;br /&gt;
&lt;br /&gt;
The problem was nginx was attempting to bind to port 443 before the IP was initialized.&lt;br /&gt;
&lt;br /&gt;
To fix edit the /etx/sysctl.conf file and add &lt;br /&gt;
 net.ipv4.ip_nonlocal_bind = 1&lt;br /&gt;
&lt;br /&gt;
== WHM replica ==&lt;br /&gt;
&lt;br /&gt;
 rsync -avz 192.168.1.122:/home/ /home/ --exclude=&amp;quot;virtfs&amp;quot; --exclude=&amp;quot;\.cp*&amp;quot; --exclude=&amp;quot;cpeasyapache&amp;quot; &lt;br /&gt;
 rsync -avz 192.168.1.122:/usr/local/apache/conf/ /usr/local/apache/conf/&lt;br /&gt;
 rsync -avz 192.168.1.122:/var/named/ /var/named/&lt;br /&gt;
 rsync -avz 192.168.1.122:/usr/local/cpanel/ /usr/local/cpanel/&lt;br /&gt;
 rsync -avz 192.168.1.122:/var/cpanel/ /var/cpanel&lt;br /&gt;
&lt;br /&gt;
 chkconfig cpanel off&lt;br /&gt;
 chkconfig exim off&lt;br /&gt;
 chkconfig dovecot off&lt;br /&gt;
 chkconfig pure-ftpd off&lt;br /&gt;
 chkconfig named off&lt;br /&gt;
 chkconfig mysql off&lt;br /&gt;
 chkconfig csf off&lt;br /&gt;
 chkconfig iptables off&lt;br /&gt;
&lt;br /&gt;
 hostname: /etc/sysconfig/network&lt;br /&gt;
&lt;br /&gt;
 change shared ip - You can change it in /etc/wwwacct.conf infront of ADDR parameter.&lt;br /&gt;
 change ip - Usage: /usr/local/cpanel/bin/setsiteip [-u user | domain] ip   (/etc/trueuserowners)&lt;br /&gt;
 rebuild httpd conf&lt;br /&gt;
 restart apache&lt;br /&gt;
&lt;br /&gt;
== Apache memory usage ==&lt;br /&gt;
&lt;br /&gt;
 ps -ylC httpd | awk &amp;#039;{x += $8;y += 1} END {print &amp;quot;Apache Memory Usage (MB): &amp;quot;x/1024; print &amp;quot;Average Proccess Size (MB): &amp;quot;x/((y-1)*1024)}&amp;#039;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Wordpress pingback ==&lt;br /&gt;
&lt;br /&gt;
Nginx:&lt;br /&gt;
&lt;br /&gt;
 # WordPress Pingback Request Denial&lt;br /&gt;
 if ($http_user_agent ~* &amp;quot;WordPress&amp;quot;) {&lt;br /&gt;
   return 403;&lt;br /&gt;
 }&lt;br /&gt;
&lt;br /&gt;
Apache:&lt;br /&gt;
&lt;br /&gt;
 BrowserMatchNoCase WordPress wordpress_ping&lt;br /&gt;
 BrowserMatchNoCase Wordpress wordpress_ping&lt;br /&gt;
 Order Deny,Allow&lt;br /&gt;
 Deny from env=wordpress_ping&lt;br /&gt;
&lt;br /&gt;
== Find big files and folders ==&lt;br /&gt;
&lt;br /&gt;
 find / -mount -type f -print0 2&amp;gt;/dev/null | xargs -0 du 2&amp;gt;/dev/null | grep -v &amp;quot;virtfs&amp;quot; | sort -n | tail -40 | cut -f2 | xargs -I{} du -sh 2&amp;gt;/dev/null {} | uniq; printf &amp;#039;+%.0s&amp;#039; {1..100}; echo; \&lt;br /&gt;
 find / -mount -type d -print0 2&amp;gt;/dev/null | xargs -0 du 2&amp;gt;/dev/null | grep -v &amp;quot;virtfs&amp;quot; | sort -n | tail -40 | cut -f2 | xargs -I{} du -sh 2&amp;gt;/dev/null {} | uniq; printf &amp;#039;+%.0s&amp;#039; {1..100}; echo; \&lt;br /&gt;
 du -sh /var/cpanel/user_notifications &amp;amp;&amp;amp; du -sh /backup/cpbackup/*/dirs/_var_cpanel/user_notifications&lt;br /&gt;
&lt;br /&gt;
== Rebuild Sophos when disk full ==&lt;br /&gt;
&lt;br /&gt;
 /etc/init.d/postgresql92 rebuild&lt;br /&gt;
&lt;br /&gt;
On older versions:&lt;br /&gt;
 /var/mdw/scripts/smtp stop&lt;br /&gt;
 dropdb -U postgres smtp&lt;br /&gt;
 createdb -U postgres smtp&lt;br /&gt;
 /var/mdw/scripts/smtp start&lt;br /&gt;
&lt;br /&gt;
== Clear allowed networks on Sophos ==&lt;br /&gt;
&lt;br /&gt;
Login to the Sophos&lt;br /&gt;
 Type ‘cc’&lt;br /&gt;
 In cc, you’ll be in MAIN, if not, type ‘MAIN’&lt;br /&gt;
 Type ‘webadmin&amp;#039;&lt;br /&gt;
 Type ‘allowed_networks@&amp;#039;&lt;br /&gt;
 =[&amp;#039;REF_NetworkAny&amp;#039;]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Most accessed sites in the last minute ==&lt;br /&gt;
&lt;br /&gt;
 cat &amp;lt;&amp;lt;&amp;#039;SCRIPT&amp;#039; &amp;gt;&amp;gt;/root/sitesLoad.sh&lt;br /&gt;
 &lt;br /&gt;
 #!/bin/bash&lt;br /&gt;
 &amp;lt;nowiki&amp;gt;if [[ `netstat -ntalp | grep :80 | awk &amp;#039;$4 ~ /:80/ {print $0;exit}&amp;#039; | grep -q httpd; echo $?` -ne 0 ]]; then echo &amp;quot;Main web server is not Apache. Exiting...&amp;quot;; exit 1; fi&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
 &lt;br /&gt;
 log=/tmp/hostPop&lt;br /&gt;
 i=0&lt;br /&gt;
 find /usr/local/apache/domlogs/ -type f -mmin -1 ! -group root -exec ls -l {} \+ | awk &amp;#039;{print $4, $9}&amp;#039; | column -t&amp;gt;$log&lt;br /&gt;
 &lt;br /&gt;
 while read line; do&lt;br /&gt;
 ((++i))&lt;br /&gt;
        arr[$i]=$i&lt;br /&gt;
        arr[$i*1000]=$(printf &amp;quot;$line&amp;quot; | awk &amp;#039;{print $1}&amp;#039;)&lt;br /&gt;
        arr[$i*1001]=$(printf &amp;quot;$line&amp;quot; | awk &amp;#039;{print $2}&amp;#039;)&lt;br /&gt;
        arr[$i*1002]=$(wc -l `echo $line | awk &amp;#039;{print $NF}&amp;#039;` | cut -d&amp;#039; &amp;#039; -f 1)&lt;br /&gt;
 done &amp;lt; &amp;lt;(cat $log)&lt;br /&gt;
 &lt;br /&gt;
 echo &amp;quot;Analyzing apache logs in realtime for 1 minute...&amp;quot;; sleep 60&lt;br /&gt;
 &lt;br /&gt;
 for (( var=1 ; var&amp;lt;=$i ; var++ ))&lt;br /&gt;
 do&lt;br /&gt;
        printf &amp;quot;${arr[$var*1000]} ${arr[$var*1001]} &amp;quot;&lt;br /&gt;
        echo $((`wc -l $(echo ${arr[$var*1001]}) | cut -d&amp;#039; &amp;#039; -f 1` - ${arr[$var*1002]}));&lt;br /&gt;
 done | sed -e &amp;#039;s/\/usr\/local\/apache\/domlogs\///g&amp;#039; | sort -nrk 3 | column -t&lt;br /&gt;
 &lt;br /&gt;
 SCRIPT&lt;br /&gt;
 chmod 700 /root/sitesLoad.sh &amp;amp;&amp;amp; /root/sitesLoad.sh&lt;br /&gt;
&lt;br /&gt;
== PHP.INI upload big files ==&lt;br /&gt;
&lt;br /&gt;
 ini_set(&amp;#039;upload_max_filesize&amp;#039;, &amp;#039;10M&amp;#039;);&lt;br /&gt;
 ini_set(&amp;#039;post_max_size&amp;#039;, &amp;#039;10M&amp;#039;);&lt;br /&gt;
 ini_set(&amp;#039;max_input_time&amp;#039;, 300);&lt;br /&gt;
 ini_set(&amp;#039;max_execution_time&amp;#039;, 300);&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Change permissions (chmod) to folders and files ==&lt;br /&gt;
&lt;br /&gt;
 find . -type d -exec chmod 755 {} +                  &lt;br /&gt;
 find . -type f -exec chmod 644 {} +                 &lt;br /&gt;
&lt;br /&gt;
== Disable IPv6 ==&lt;br /&gt;
&lt;br /&gt;
For current session:&lt;br /&gt;
 echo 1 &amp;gt; /proc/sys/net/ipv6/conf/&amp;lt;interface-name&amp;gt;/disable_ipv6&lt;br /&gt;
 echo 1 &amp;gt; /proc/sys/net/ipv6/conf/eth0/disable_ipv6&lt;br /&gt;
&lt;br /&gt;
Permanent:&lt;br /&gt;
 vi /etc/sysctl.conf&lt;br /&gt;
 net.ipv6.conf.all.disable_ipv6 = 1&lt;br /&gt;
 sudo sysctl -p /etc/sysctl.conf&lt;br /&gt;
&lt;br /&gt;
== Virtual box boot from USB ==&lt;br /&gt;
 VBoxManage internalcommands createrawvmdk -filename C:\usb.vmdk -rawdisk \\.\PhysicalDrive#&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== CSF GUI on ISPCONFIG 3 ==&lt;br /&gt;
Install old CSF (before 8.13)&lt;br /&gt;
&lt;br /&gt;
Copy the ISPCONFIG folder to /etc/csf/ and enable CSF in ISPCONFIG&lt;br /&gt;
&lt;br /&gt;
Backup csfui* files&lt;br /&gt;
&lt;br /&gt;
Upgrade CSF&lt;br /&gt;
&lt;br /&gt;
Copy backuped csfui* files back&lt;br /&gt;
&lt;br /&gt;
Run the following commands:&lt;br /&gt;
 sed -i &amp;#039;s/checkip/ConfigServer::CheckIP::checkip/g&amp;#039; /usr/local/csf/bin/csfui.pl&lt;br /&gt;
 sed -i &amp;#039;s/sanity(/ConfigServer::Sanity::sanity(/g&amp;#039; /usr/local/csf/bin/csfui.pl&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Max connections on Linux ==&lt;br /&gt;
&lt;br /&gt;
Add to /etc/sysctl.conf:&lt;br /&gt;
&lt;br /&gt;
 fs.file-max = 70000&lt;br /&gt;
 net.ipv4.tcp_tw_recycle=0&lt;br /&gt;
 net.ipv4.tcp_fin_timeout = 10&lt;br /&gt;
 net.ipv4.ip_local_port_range = 15000 61000&lt;br /&gt;
 net.core.somaxconn = 1024&lt;br /&gt;
 net.core.netdev_max_backlog = 2000&lt;br /&gt;
&lt;br /&gt;
== CSF configuration ==&lt;br /&gt;
&lt;br /&gt;
 ## Automated configuration:&lt;br /&gt;
 &lt;br /&gt;
 sed -i &amp;#039;s/TESTING = &amp;quot;1&amp;quot;/TESTING = &amp;quot;0&amp;quot;/&amp;#039; /etc/csf/csf.conf&lt;br /&gt;
 sed -i &amp;#039;s/RESTRICT_SYSLOG = &amp;quot;0&amp;quot;/RESTRICT_SYSLOG = &amp;quot;3&amp;quot;/&amp;#039; /etc/csf/csf.conf&lt;br /&gt;
 sed -i &amp;#039;s/IPV6 = &amp;quot;1&amp;quot;/IPV6 = &amp;quot;0&amp;quot;/&amp;#039; /etc/csf/csf.conf&lt;br /&gt;
 sed -i &amp;#039;s/IGNORE_ALLOW = &amp;quot;0&amp;quot;/IGNORE_ALLOW = &amp;quot;1&amp;quot;/&amp;#039; /etc/csf/csf.conf&lt;br /&gt;
 sed -i &amp;#039;s/CONNLIMIT = &amp;quot;&amp;quot;/CONNLIMIT = &amp;quot;22;5,80;70&amp;quot;/&amp;#039; /etc/csf/csf.conf&lt;br /&gt;
 sed -i &amp;#039;s/PORTFLOOD = &amp;quot;&amp;quot;/PORTFLOOD = &amp;quot;22;tcp;5;300,80;tcp;100;1,443;tcp;100;5&amp;quot;/&amp;#039; /etc/csf/csf.conf&lt;br /&gt;
 sed -i &amp;#039;s/CT_LIMIT = &amp;quot;0&amp;quot;/CT_LIMIT = &amp;quot;300&amp;quot;/&amp;#039; /etc/csf/csf.conf&lt;br /&gt;
  &lt;br /&gt;
 ## Disable LFD alerts: Only if you want to disable them!!&lt;br /&gt;
 &lt;br /&gt;
 sed -i &amp;#039;s/LF_EMAIL_ALERT = &amp;quot;1&amp;quot;/LF_EMAIL_ALERT = &amp;quot;0&amp;quot;/&amp;#039; /etc/csf/csf.conf&lt;br /&gt;
 sed -i &amp;#039;s/LF_SSH_EMAIL_ALERT = &amp;quot;1&amp;quot;/LF_SSH_EMAIL_ALERT = &amp;quot;0&amp;quot;/&amp;#039; /etc/csf/csf.conf&lt;br /&gt;
 sed -i &amp;#039;s/LF_SU_EMAIL_ALERT = &amp;quot;1&amp;quot;/LF_SU_EMAIL_ALERT = &amp;quot;0&amp;quot;/&amp;#039; /etc/csf/csf.conf&lt;br /&gt;
 sed -i &amp;#039;s/LF_WEBMIN_EMAIL_ALERT = &amp;quot;1&amp;quot;/LF_WEBMIN_EMAIL_ALERT = &amp;quot;0&amp;quot;/&amp;#039; /etc/csf/csf.conf&lt;br /&gt;
 sed -i &amp;#039;s/LF_CONSOLE_EMAIL_ALERT = &amp;quot;1&amp;quot;/LF_CONSOLE_EMAIL_ALERT = &amp;quot;0&amp;quot;/&amp;#039; /etc/csf/csf.conf&lt;br /&gt;
 sed -i &amp;#039;s/LT_EMAIL_ALERT = &amp;quot;1&amp;quot;/LT_EMAIL_ALERT = &amp;quot;0&amp;quot;/&amp;#039; /etc/csf/csf.conf&lt;br /&gt;
 sed -i &amp;#039;s/CT_EMAIL_ALERT = &amp;quot;1&amp;quot;/CT_EMAIL_ALERT = &amp;quot;0&amp;quot;/&amp;#039; /etc/csf/csf.conf&lt;br /&gt;
 sed -i &amp;#039;s/PS_EMAIL_ALERT = &amp;quot;1&amp;quot;/PS_EMAIL_ALERT = &amp;quot;0&amp;quot;/&amp;#039; /etc/csf/csf.conf&lt;br /&gt;
 &lt;br /&gt;
 ## Disable PT alerts: Only if you want to disable them!!&lt;br /&gt;
 &lt;br /&gt;
 sed -i &amp;#039;s/PT_USERPROC = &amp;quot;10&amp;quot;/PT_USERPROC = &amp;quot;0&amp;quot;/&amp;#039; /etc/csf/csf.conf&lt;br /&gt;
 sed -i &amp;#039;s/PT_USERMEM = &amp;quot;256&amp;quot;/PT_USERMEM = &amp;quot;0&amp;quot;/&amp;#039; /etc/csf/csf.conf&lt;br /&gt;
 sed -i &amp;#039;s/PT_USERTIME = &amp;quot;1800&amp;quot;/PT_USERTIME = &amp;quot;0&amp;quot;/&amp;#039; /etc/csf/csf.conf&lt;br /&gt;
 sed -i &amp;#039;s/PT_USERKILL_ALERT = &amp;quot;1&amp;quot;/PT_USERKILL_ALERT = &amp;quot;0&amp;quot;/&amp;#039; /etc/csf/csf.conf&lt;br /&gt;
 sed -i &amp;#039;s/PT_LOAD = &amp;quot;30&amp;quot;/PT_LOAD = &amp;quot;0&amp;quot;/&amp;#039; /etc/csf/csf.conf&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Rescan drives ==&lt;br /&gt;
&lt;br /&gt;
 echo &amp;quot;- - -&amp;quot; &amp;gt; /sys/class/scsi_host/host0/scan&lt;br /&gt;
&lt;br /&gt;
 echo 1 &amp;gt; /sys/class/scsi_device/2\:0\:0\:0/device/rescan&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Find PTR owner - reversal ==&lt;br /&gt;
&lt;br /&gt;
 dig 0.168.192.in-addr.arpa. NS&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Fix locales in Ubuntu ==&lt;br /&gt;
 locale-gen en_US.UTF-8&lt;br /&gt;
 dpkg-reconfigure locales&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Change permissions to all files and folders ==&lt;br /&gt;
 chown `stat -c %U .`.`stat -c %U .` * -R&lt;br /&gt;
&lt;br /&gt;
== Open last edited file ==&lt;br /&gt;
 less `ls -dx1tr /usr/local/cpanel/logs/cpbackup/*|tail -1`&lt;br /&gt;
&lt;br /&gt;
== Clear cache and swap ==&lt;br /&gt;
 echo 3 &amp;gt; /proc/sys/vm/drop_caches &amp;amp;&amp;amp; swapoff -a &amp;amp;&amp;amp; swapon -a&lt;br /&gt;
&lt;br /&gt;
== Disable core files in CPanel accounts ==&lt;br /&gt;
&lt;br /&gt;
Add this in /etc/sysctl.conf&lt;br /&gt;
 kernel.core_uses_pid = 0&lt;br /&gt;
 kernel.core_pattern = /dev/null&lt;br /&gt;
&lt;br /&gt;
And run:&lt;br /&gt;
 sysctl -p&lt;br /&gt;
&lt;br /&gt;
== Add HSTS support in CPANEL ==&lt;br /&gt;
 cp -p /var/cpanel/templates/apache2_4/ssl_vhost.default /var/cpanel/templates/apache2_4/ssl_vhost.local&lt;br /&gt;
 vi /var/cpanel/templates/apache2_4/ssl_vhost.local&lt;br /&gt;
&lt;br /&gt;
Edit:&lt;br /&gt;
 &amp;lt;VirtualHost[% FOREACH ipblock IN vhost.ips %] [% ipblock.ip %]:[% ipblock.port %][% END %]&amp;gt;&lt;br /&gt;
  # Enable HTTP Strict Transport Security&lt;br /&gt;
  Header always set Strict-Transport-Security &amp;quot;max-age=63072000; includeSubdomains;&amp;quot;&lt;br /&gt;
&lt;br /&gt;
 cp -p /var/cpanel/templates/apache2_4/main.default /var/cpanel/templates/apache2_4/main.local&lt;br /&gt;
 vi /var/cpanel/templates/apache2_4/main.local&lt;br /&gt;
&lt;br /&gt;
Edit:&lt;br /&gt;
 [% IF main.sslprotocol.item.sslprotocol.length %]SSLProtocol [% main.sslprotocol.item.sslprotocol %][% END %]&lt;br /&gt;
 SSLHonorCipherOrder on&lt;br /&gt;
&lt;br /&gt;
Run:&lt;br /&gt;
 /scripts/rebuildhttpdconf&lt;br /&gt;
 service httpd restart&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Install mod_pagespeed on WHM ==&lt;br /&gt;
&lt;br /&gt;
With EA3:&lt;br /&gt;
 /usr/local/cpanel/3rdparty/bin/git clone https://github.com/pagespeed/cpanel.git /tmp/pagespeed/&lt;br /&gt;
 cd /tmp/pagespeed/Easy&lt;br /&gt;
 tar -zcvf Speed.pm.tar.gz pagespeed&lt;br /&gt;
 mkdir -p /var/cpanel/easy/apache/custom_opt_mods/Cpanel/Easy&lt;br /&gt;
 mv Speed.pm Speed.pm.tar.gz -t /var/cpanel/easy/apache/custom_opt_mods/Cpanel/Easy/&lt;br /&gt;
 cd &amp;amp;&amp;amp; rm -rf /tmp/pagespeed&lt;br /&gt;
&lt;br /&gt;
With EA4:&lt;br /&gt;
&lt;br /&gt;
Create file /etc/rpm/macros.apache2 and add the following lines of code exactly as below&lt;br /&gt;
 %_httpd_mmn 20120211x8664&lt;br /&gt;
 %_httpd_apxs /usr/bin/apxs&lt;br /&gt;
 %_httpd_dir /etc/apache2&lt;br /&gt;
 %_httpd_bindir %{_httpd_dir}/bin&lt;br /&gt;
 %_httpd_modconfdir %{_httpd_dir}/conf.modules.d&lt;br /&gt;
 %_httpd_confdir %{_httpd_dir}/conf.d&lt;br /&gt;
 %_httpd_contentdir /usr/share/apache2&lt;br /&gt;
 %_httpd_moddir /usr/lib64/apache2/modules&lt;br /&gt;
&lt;br /&gt;
Next run the following commands in order, make sure you run each command on it’s own&lt;br /&gt;
 rm -rf /root/rpmbuild/RPMS/x86_64/&lt;br /&gt;
 wget https://github.com/pagespeed/cpanel/raw/master/EA4/ea-apache24-mod_pagespeed-latest-stable.src.rpm&lt;br /&gt;
 rpmbuild --rebuild ea-apache24-mod_pagespeed-latest-stable.src.rpm&lt;br /&gt;
 rpm -Uvh /root/rpmbuild/RPMS/x86_64/ea-apache24-mod_pagespeed*.rpm&lt;br /&gt;
 /etc/init.d/httpd restart&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Resize root partition without reboot ==&lt;br /&gt;
&lt;br /&gt;
Resize HD size in VC&lt;br /&gt;
Run: (replace the device if needed)&lt;br /&gt;
 echo 1 &amp;gt; /sys/class/scsi_device/2\:0\:0\:0/device/rescan&lt;br /&gt;
 run fdisk:&lt;br /&gt;
print the old partition and save the output&lt;br /&gt;
delete the root partition&lt;br /&gt;
create a new partition using the SAME start block and make sure that the end block is higher than previous one (enter, enter, enter…)&lt;br /&gt;
write changes (ignore error)&lt;br /&gt;
run:&lt;br /&gt;
 partx -u /dev/sda&lt;br /&gt;
 resize2fs -f /dev/sda3&lt;br /&gt;
Make sure everything is OK:&lt;br /&gt;
 df -h&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Delete files with a large file list - Argument list too long ==&lt;br /&gt;
 find . -name &amp;#039;*&amp;#039;|xargs rm&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Show all domains in NGINX configuration ==&lt;br /&gt;
&lt;br /&gt;
 grep -e &amp;quot;^\s*server_name&amp;quot; /etc/nginx/conf.d/*|sed -e &amp;#039;s/[\t ]*server_name//g;&amp;#039;|sed -e &amp;quot;s/ /\+/g&amp;quot;|sed -e &amp;#039;s/;//g&amp;#039;|while read line; do for i in $line; do echo -n &amp;quot;$i &amp;quot;|sed -e &amp;#039;s/://&amp;#039;  -e &amp;#039;s/\+/\n  |--/g&amp;#039;; done ;echo; done; echo&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Kill process that runs more than X time ==&lt;br /&gt;
&lt;br /&gt;
Kill cgi after 30 secs:&lt;br /&gt;
 for i in `ps -eo pid,etime,cmd|grep cgi|awk &amp;#039;$2 &amp;gt; &amp;quot;00:30&amp;quot; {print $1}&amp;#039;`; do kill $i; done&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Unblock Invalid packets in CSF ==&lt;br /&gt;
 # Drop out of order packets and packets in an INVALID state in iptables&lt;br /&gt;
 # connection tracking&lt;br /&gt;
 PACKET_FILTER = &amp;quot;0&amp;quot;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Who uses RAM ==&lt;br /&gt;
&lt;br /&gt;
 ps aux  | awk &amp;#039;{print $6/1024 &amp;quot; MB\t\t&amp;quot; $11}&amp;#039;  | sort -n&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Fix WHM/CPanel templates  ==&lt;br /&gt;
&lt;br /&gt;
 cp /usr/local/apache/conf/httpd.conf{,.cptech-`date +%Y%m%d`}&lt;br /&gt;
 mv /var/cpanel/templates/apache2_4/vhost.local /var/cpanel/templates/apache2_4/vhost.local.bak&lt;br /&gt;
 mv /var/cpanel/templates/apache2_4/ssl_vhost.local /var/cpanel/templates/apache2_4/ssl_vhost.local.bak&lt;br /&gt;
 /scripts/rebuildhttpdconf&lt;br /&gt;
 /scripts/restartsrv_httpd&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Fix NFS mount on boot - Centos 7 ==&lt;br /&gt;
&lt;br /&gt;
Append text to the end of /usr/lib/systemd/system/nfs-idmap.service&lt;br /&gt;
 [Install]&lt;br /&gt;
 WantedBy=multi-user.target&lt;br /&gt;
&lt;br /&gt;
Append text to the end of /usr/lib/systemd/system/nfs-lock.service&lt;br /&gt;
 [Install]&lt;br /&gt;
 WantedBy=nfs.target&lt;br /&gt;
&lt;br /&gt;
Enable related services&lt;br /&gt;
&lt;br /&gt;
 systemctl enable nfs-idmapd.service &lt;br /&gt;
 systemctl enable rpc-statd.service &lt;br /&gt;
 systemctl enable rpcbind.socket&lt;br /&gt;
&lt;br /&gt;
Reboot the server&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Login to WHM with link ==&lt;br /&gt;
&lt;br /&gt;
 whmapi1 create_user_session user=root service=whostmgrd locale=en&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Update date and time on Linux server ==&lt;br /&gt;
&lt;br /&gt;
 sudo ntpd -qg; sudo hwclock -w&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Clone Linux user ==&lt;br /&gt;
&lt;br /&gt;
 #!/bin/bash&lt;br /&gt;
 SRC=$1&lt;br /&gt;
 DEST=$2&lt;br /&gt;
 &lt;br /&gt;
 SRC_GROUPS=$(id -Gn ${SRC} | sed &amp;quot;s/${SRC} //g&amp;quot; | sed &amp;quot;s/ ${SRC}//g&amp;quot; | sed &amp;quot;s/ /,/g&amp;quot;)&lt;br /&gt;
 SRC_SHELL=$(awk -F : -v name=${SRC} &amp;#039;(name == $1) { print $7 }&amp;#039; /etc/passwd)&lt;br /&gt;
 &lt;br /&gt;
 useradd --groups ${SRC_GROUPS} --shell ${SRC_SHELL} --create-home ${DEST}&lt;br /&gt;
 passwd ${DEST}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Reload VM after UUID change ==&lt;br /&gt;
&lt;br /&gt;
 vim-cmd vmsvc/getallvms&lt;br /&gt;
 vim-cmd vmsvc/reload $vmID&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Size of suspended accounts in WHM ==&lt;br /&gt;
 for i in `whmapi1 listsuspended|grep user|cut -d: -f2`; do echo &amp;quot;Suspended account: $i - using&amp;quot; `whmapi1 listaccts search=$i searchtype=user|grep diskused|cut -d: -f2`; done&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Clear BOOT on Ubuntu when 100% ==&lt;br /&gt;
 dpkg --purge `dpkg --list|grep &amp;quot;linux-&amp;quot;|grep -v \`uname -r|sed &amp;#039;s/-generic//g&amp;#039;\`|cut -d&amp;quot; &amp;quot; -f3|grep &amp;quot;[0-9]-&amp;quot;|paste -sd &amp;quot; &amp;quot; -`&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== One-time login to wordpress ==&lt;br /&gt;
&lt;br /&gt;
Install wp cli:&lt;br /&gt;
&lt;br /&gt;
 curl -O https://raw.githubusercontent.com/wp-cli/builds/gh-pages/phar/wp-cli.phar&lt;br /&gt;
 chmod +x wp-cli.phar&lt;br /&gt;
 mv wp-cli.phar /usr/local/bin/wp&lt;br /&gt;
&lt;br /&gt;
Run from the WordPress installed location:&lt;br /&gt;
&lt;br /&gt;
 useradmin=`wp user list --role=administrator --format=csv --allow-root | cut -d&amp;#039;,&amp;#039; -f2 | head -2 | tail -1` &amp;amp;&amp;amp;  wp plugin install one-time-login --activate --allow-root &amp;amp;&amp;amp; wp user one-time-login $useradmin --allow-root &amp;amp;&amp;amp; user=$(stat -c &amp;quot;%U&amp;quot; `pwd`) &amp;amp;&amp;amp; chown $user.$user wp-content/ -R&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Cpanel resources consumption history per user ==&lt;br /&gt;
 &amp;lt;nowiki&amp;gt;OUT=$(/usr/local/cpanel/bin/dcpumonview | grep -v Top | sed -e &amp;#039;s#&amp;lt;[^&amp;gt;]*&amp;gt;# #g&amp;#039; | while read i ; do NF=`echo $i | awk {&amp;#039;print NF&amp;#039;}` ; if [[ &amp;quot;$NF&amp;quot; == &amp;quot;5&amp;quot; ]] ; then USER=`echo $i | awk {&amp;#039;print $1&amp;#039;}`; OWNER=`grep -e &amp;quot;^OWNER=&amp;quot; /var/cpanel/users/$USER | cut -d= -f2` ; echo &amp;quot;$OWNER $i&amp;quot;; fi ; done) ; (echo &amp;quot;USER CPU&amp;quot; ; echo &amp;quot;$OUT&amp;quot; | sort -nrk4 | awk &amp;#039;{printf &amp;quot;%s %s%\n&amp;quot;,$2,$4}&amp;#039; | head -5) | column -t ;echo;(echo -e &amp;quot;USER MEMORY&amp;quot; ; echo &amp;quot;$OUT&amp;quot; | sort -nrk5 | awk &amp;#039;{printf &amp;quot;%s %s%\n&amp;quot;,$2,$5}&amp;#039; | head -5) | column -t ;echo;(echo -e &amp;quot;USER MYSQL&amp;quot; ; echo &amp;quot;$OUT&amp;quot; | sort -nrk6 | awk &amp;#039;{printf &amp;quot;%s %s%\n&amp;quot;,$2,$6}&amp;#039; | head -5) | column -t ; &amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Engintron generate custom_rules for all domains on the server. ==&lt;br /&gt;
 ip=`hostname -i` &amp;amp;&amp;amp; for domain in `httpd -S |  grep www. | awk -F &amp;#039;www.&amp;#039; &amp;#039;{print $2}&amp;#039;`;do printf &amp;quot;if ( \$host ~ \&amp;quot;%s\&amp;quot;) {set \$PROXY_DOMAIN_OR_IP \&amp;quot;$ip\&amp;quot;;}\n&amp;quot; $domain ;done &amp;gt;&amp;gt; /etc/nginx/custom_rules &amp;amp;&amp;amp; service nginx reload&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Fix Installatron - error 500 or missing list/install ==&lt;br /&gt;
 /usr/local/installatron/repair -f --release --quick&lt;br /&gt;
[https://installatron.com/docs/admin/troubleshooting#missinginstalls Installatron FIX]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Find root of a site and CD to it ==&lt;br /&gt;
&lt;br /&gt;
Replace domain.com with desired domain&lt;br /&gt;
 cd `grep &amp;quot;domain.com&amp;quot; /etc/apache2/conf/httpd.conf -A7|grep Root|head -1|awk &amp;#039;{print $2}&amp;#039;`&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Generate CSR with OPENSSL ==&lt;br /&gt;
&lt;br /&gt;
Generate key:&lt;br /&gt;
 openssl genrsa -out private.key 2048&lt;br /&gt;
&lt;br /&gt;
Gemnerate CSR:&lt;br /&gt;
 openssl req -new -sha256 -key private.key -out mycsr.csr&lt;br /&gt;
&lt;br /&gt;
== Links ==&lt;br /&gt;
Installing Redis: [https://troubleshootguru.wordpress.com/2014/11/19/how-to-install-redis-on-a-centos-6-5-centos-7-0-server-2/] [https://www.fastcomet.com/community/question/wordpress-caching-with-redis-centos-cpanel/] [https://nixtree.com/blog/install-redis-daemon-and-redis-php-extention-on-centosrhelcpanel/]&lt;br /&gt;
&lt;br /&gt;
Windows images [http://torrent-win.net/windows_original/]&lt;br /&gt;
&lt;br /&gt;
Github: [https://github.com/romanost Github]&lt;br /&gt;
&lt;br /&gt;
Arista: [https://www.arista.com/assets/data/docs/Manuals/EOS-4.17.0F-Manual.pdf Manual] [https://www.arista.com/en/um-eos/eos-section-3-10-command-line-interface-commands CLI]&lt;br /&gt;
&lt;br /&gt;
VMware converter old version [http://soft.assenov.net/software/index.php?dir=VMWare/ Link]&lt;br /&gt;
&lt;br /&gt;
GEOip on EA4 [https://grepitout.com/install-mod_geoip-cpanel-easyapache-4/ link]&lt;br /&gt;
&lt;br /&gt;
PHP Malware finder [https://github.com/nbs-system/php-malware-finder link]&lt;/div&gt;</summary>
		<author><name>Meadmin</name></author>	</entry>

	<entry>
		<id>https://mywiki.romanost.co.il/index.php?title=Linux&amp;diff=58</id>
		<title>Linux</title>
		<link rel="alternate" type="text/html" href="https://mywiki.romanost.co.il/index.php?title=Linux&amp;diff=58"/>
				<updated>2018-12-26T09:54:38Z</updated>
		
		<summary type="html">&lt;p&gt;Meadmin: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&lt;br /&gt;
== Wordpress login attack check ==&lt;br /&gt;
&lt;br /&gt;
 &amp;#039;&amp;#039;&amp;#039;Crontab :&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
 0 */6 * * *  sh /root/wplogin.sh&lt;br /&gt;
 &lt;br /&gt;
 &amp;#039;&amp;#039;&amp;#039;Script :&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
 #!/bin/bash&lt;br /&gt;
 &lt;br /&gt;
 ###start editing&lt;br /&gt;
 thold=&amp;quot;100&amp;quot;&lt;br /&gt;
 btime=&amp;quot;359m&amp;quot;&lt;br /&gt;
 ###stop editing&lt;br /&gt;
 &lt;br /&gt;
 egrep &amp;#039;wp-login.php&amp;#039; /usr/local/apache/domlogs/* | grep -v ftp_log | awk -F : &amp;#039;{print $2}&amp;#039; | awk &amp;#039;{print $1}&amp;#039; | sort | uniq -c | sort -n | awk -v limit=&amp;quot;$thold&amp;quot; &amp;#039;$1 &amp;gt; limit{print $2}&amp;#039; &amp;gt; $$_ip_$$&lt;br /&gt;
 &lt;br /&gt;
 while IFS= read -r line&lt;br /&gt;
         do&lt;br /&gt;
                 /usr/sbin/csf -td &amp;quot;$line&amp;quot;  &amp;quot;$btime&amp;quot; &amp;quot;banned for wordpress attack&amp;quot;&lt;br /&gt;
         done &amp;lt; $$_ip_$$&lt;br /&gt;
 rm -f $$_ip_$$&lt;br /&gt;
&lt;br /&gt;
== Prevent OOM killer ==&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Edit file /etc/sysctl.conf&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
 &lt;br /&gt;
 vm.overcommit_memory = 2 &lt;br /&gt;
 vm.overcommit_ratio = 100&lt;br /&gt;
&lt;br /&gt;
In case of bad memory usage (php out of memory) use this settings:&lt;br /&gt;
&lt;br /&gt;
 vm.overcommit_memory = 0&lt;br /&gt;
 vm.overcommit_ratio = 80&lt;br /&gt;
&lt;br /&gt;
== Who is using SWAP ==&lt;br /&gt;
 grep VmSwap /proc/*/status 2&amp;gt;/dev/null | sort -nk2 | tail -n5&lt;br /&gt;
&lt;br /&gt;
Print with the process command:&lt;br /&gt;
 grep VmSwap /proc/*/status 2&amp;gt;/dev/null | sort -nk2 | tail -n5|awk -F&amp;#039;/&amp;#039; &amp;#039;{cmd=&amp;quot;cat /proc/&amp;quot; $3 &amp;quot;/cmdline&amp;quot;; cmd|getline var; close (cmd); printf $0 &amp;quot;\t&amp;quot;; print var}&amp;#039;  &lt;br /&gt;
&lt;br /&gt;
== Plesk on CentOS 12 bind fix ==&lt;br /&gt;
&lt;br /&gt;
The problem was nginx was attempting to bind to port 443 before the IP was initialized.&lt;br /&gt;
&lt;br /&gt;
To fix edit the /etx/sysctl.conf file and add &lt;br /&gt;
 net.ipv4.ip_nonlocal_bind = 1&lt;br /&gt;
&lt;br /&gt;
== WHM replica ==&lt;br /&gt;
&lt;br /&gt;
 rsync -avz 192.168.1.122:/home/ /home/ --exclude=&amp;quot;virtfs&amp;quot; --exclude=&amp;quot;\.cp*&amp;quot; --exclude=&amp;quot;cpeasyapache&amp;quot; &lt;br /&gt;
 rsync -avz 192.168.1.122:/usr/local/apache/conf/ /usr/local/apache/conf/&lt;br /&gt;
 rsync -avz 192.168.1.122:/var/named/ /var/named/&lt;br /&gt;
 rsync -avz 192.168.1.122:/usr/local/cpanel/ /usr/local/cpanel/&lt;br /&gt;
 rsync -avz 192.168.1.122:/var/cpanel/ /var/cpanel&lt;br /&gt;
&lt;br /&gt;
 chkconfig cpanel off&lt;br /&gt;
 chkconfig exim off&lt;br /&gt;
 chkconfig dovecot off&lt;br /&gt;
 chkconfig pure-ftpd off&lt;br /&gt;
 chkconfig named off&lt;br /&gt;
 chkconfig mysql off&lt;br /&gt;
 chkconfig csf off&lt;br /&gt;
 chkconfig iptables off&lt;br /&gt;
&lt;br /&gt;
 hostname: /etc/sysconfig/network&lt;br /&gt;
&lt;br /&gt;
 change shared ip - You can change it in /etc/wwwacct.conf infront of ADDR parameter.&lt;br /&gt;
 change ip - Usage: /usr/local/cpanel/bin/setsiteip [-u user | domain] ip   (/etc/trueuserowners)&lt;br /&gt;
 rebuild httpd conf&lt;br /&gt;
 restart apache&lt;br /&gt;
&lt;br /&gt;
== Apache memory usage ==&lt;br /&gt;
&lt;br /&gt;
 ps -ylC httpd | awk &amp;#039;{x += $8;y += 1} END {print &amp;quot;Apache Memory Usage (MB): &amp;quot;x/1024; print &amp;quot;Average Proccess Size (MB): &amp;quot;x/((y-1)*1024)}&amp;#039;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Wordpress pingback ==&lt;br /&gt;
&lt;br /&gt;
Nginx:&lt;br /&gt;
&lt;br /&gt;
 # WordPress Pingback Request Denial&lt;br /&gt;
 if ($http_user_agent ~* &amp;quot;WordPress&amp;quot;) {&lt;br /&gt;
   return 403;&lt;br /&gt;
 }&lt;br /&gt;
&lt;br /&gt;
Apache:&lt;br /&gt;
&lt;br /&gt;
 BrowserMatchNoCase WordPress wordpress_ping&lt;br /&gt;
 BrowserMatchNoCase Wordpress wordpress_ping&lt;br /&gt;
 Order Deny,Allow&lt;br /&gt;
 Deny from env=wordpress_ping&lt;br /&gt;
&lt;br /&gt;
== Find big files and folders ==&lt;br /&gt;
&lt;br /&gt;
 find / -mount -type f -print0 2&amp;gt;/dev/null | xargs -0 du 2&amp;gt;/dev/null | sort -n | tail -40 | cut -f2 | xargs -I{} du -sh 2&amp;gt;/dev/null {} | uniq; printf &amp;#039;+%.0s&amp;#039; {1..100}; echo; \&lt;br /&gt;
 find / -mount -type d -print0 2&amp;gt;/dev/null | xargs -0 du 2&amp;gt;/dev/null | sort -n | tail -40 | cut -f2 | xargs -I{} du -sh 2&amp;gt;/dev/null {} | uniq; printf &amp;#039;+%.0s&amp;#039; {1..100}; echo; \&lt;br /&gt;
 du -sh /var/cpanel/user_notifications &amp;amp;&amp;amp; du -sh /backup/cpbackup/*/dirs/_var_cpanel/user_notifications&lt;br /&gt;
&lt;br /&gt;
== Rebuild Sophos when disk full ==&lt;br /&gt;
&lt;br /&gt;
 /etc/init.d/postgresql92 rebuild&lt;br /&gt;
&lt;br /&gt;
On older versions:&lt;br /&gt;
 /var/mdw/scripts/smtp stop&lt;br /&gt;
 dropdb -U postgres smtp&lt;br /&gt;
 createdb -U postgres smtp&lt;br /&gt;
 /var/mdw/scripts/smtp start&lt;br /&gt;
&lt;br /&gt;
== Clear allowed networks on Sophos ==&lt;br /&gt;
&lt;br /&gt;
Login to the Sophos&lt;br /&gt;
 Type ‘cc’&lt;br /&gt;
 In cc, you’ll be in MAIN, if not, type ‘MAIN’&lt;br /&gt;
 Type ‘webadmin&amp;#039;&lt;br /&gt;
 Type ‘allowed_networks@&amp;#039;&lt;br /&gt;
 =[&amp;#039;REF_NetworkAny&amp;#039;]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Most accessed sites in the last minute ==&lt;br /&gt;
&lt;br /&gt;
 cat &amp;lt;&amp;lt;&amp;#039;SCRIPT&amp;#039; &amp;gt;&amp;gt;/root/sitesLoad.sh&lt;br /&gt;
 &lt;br /&gt;
 #!/bin/bash&lt;br /&gt;
 &amp;lt;nowiki&amp;gt;if [[ `netstat -ntalp | grep :80 | awk &amp;#039;$4 ~ /:80/ {print $0;exit}&amp;#039; | grep -q httpd; echo $?` -ne 0 ]]; then echo &amp;quot;Main web server is not Apache. Exiting...&amp;quot;; exit 1; fi&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
 &lt;br /&gt;
 log=/tmp/hostPop&lt;br /&gt;
 i=0&lt;br /&gt;
 find /usr/local/apache/domlogs/ -type f -mmin -1 ! -group root -exec ls -l {} \+ | awk &amp;#039;{print $4, $9}&amp;#039; | column -t&amp;gt;$log&lt;br /&gt;
 &lt;br /&gt;
 while read line; do&lt;br /&gt;
 ((++i))&lt;br /&gt;
        arr[$i]=$i&lt;br /&gt;
        arr[$i*1000]=$(printf &amp;quot;$line&amp;quot; | awk &amp;#039;{print $1}&amp;#039;)&lt;br /&gt;
        arr[$i*1001]=$(printf &amp;quot;$line&amp;quot; | awk &amp;#039;{print $2}&amp;#039;)&lt;br /&gt;
        arr[$i*1002]=$(wc -l `echo $line | awk &amp;#039;{print $NF}&amp;#039;` | cut -d&amp;#039; &amp;#039; -f 1)&lt;br /&gt;
 done &amp;lt; &amp;lt;(cat $log)&lt;br /&gt;
 &lt;br /&gt;
 echo &amp;quot;Analyzing apache logs in realtime for 1 minute...&amp;quot;; sleep 60&lt;br /&gt;
 &lt;br /&gt;
 for (( var=1 ; var&amp;lt;=$i ; var++ ))&lt;br /&gt;
 do&lt;br /&gt;
        printf &amp;quot;${arr[$var*1000]} ${arr[$var*1001]} &amp;quot;&lt;br /&gt;
        echo $((`wc -l $(echo ${arr[$var*1001]}) | cut -d&amp;#039; &amp;#039; -f 1` - ${arr[$var*1002]}));&lt;br /&gt;
 done | sed -e &amp;#039;s/\/usr\/local\/apache\/domlogs\///g&amp;#039; | sort -nrk 3 | column -t&lt;br /&gt;
 &lt;br /&gt;
 SCRIPT&lt;br /&gt;
 chmod 700 /root/sitesLoad.sh &amp;amp;&amp;amp; /root/sitesLoad.sh&lt;br /&gt;
&lt;br /&gt;
== PHP.INI upload big files ==&lt;br /&gt;
&lt;br /&gt;
 ini_set(&amp;#039;upload_max_filesize&amp;#039;, &amp;#039;10M&amp;#039;);&lt;br /&gt;
 ini_set(&amp;#039;post_max_size&amp;#039;, &amp;#039;10M&amp;#039;);&lt;br /&gt;
 ini_set(&amp;#039;max_input_time&amp;#039;, 300);&lt;br /&gt;
 ini_set(&amp;#039;max_execution_time&amp;#039;, 300);&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Change permissions (chmod) to folders and files ==&lt;br /&gt;
&lt;br /&gt;
 find . -type d -exec chmod 755 {} +                  &lt;br /&gt;
 find . -type f -exec chmod 644 {} +                 &lt;br /&gt;
&lt;br /&gt;
== Disable IPv6 ==&lt;br /&gt;
&lt;br /&gt;
For current session:&lt;br /&gt;
 echo 1 &amp;gt; /proc/sys/net/ipv6/conf/&amp;lt;interface-name&amp;gt;/disable_ipv6&lt;br /&gt;
 echo 1 &amp;gt; /proc/sys/net/ipv6/conf/eth0/disable_ipv6&lt;br /&gt;
&lt;br /&gt;
Permanent:&lt;br /&gt;
 vi /etc/sysctl.conf&lt;br /&gt;
 net.ipv6.conf.all.disable_ipv6 = 1&lt;br /&gt;
 sudo sysctl -p /etc/sysctl.conf&lt;br /&gt;
&lt;br /&gt;
== Virtual box boot from USB ==&lt;br /&gt;
 VBoxManage internalcommands createrawvmdk -filename C:\usb.vmdk -rawdisk \\.\PhysicalDrive#&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== CSF GUI on ISPCONFIG 3 ==&lt;br /&gt;
Install old CSF (before 8.13)&lt;br /&gt;
&lt;br /&gt;
Copy the ISPCONFIG folder to /etc/csf/ and enable CSF in ISPCONFIG&lt;br /&gt;
&lt;br /&gt;
Backup csfui* files&lt;br /&gt;
&lt;br /&gt;
Upgrade CSF&lt;br /&gt;
&lt;br /&gt;
Copy backuped csfui* files back&lt;br /&gt;
&lt;br /&gt;
Run the following commands:&lt;br /&gt;
 sed -i &amp;#039;s/checkip/ConfigServer::CheckIP::checkip/g&amp;#039; /usr/local/csf/bin/csfui.pl&lt;br /&gt;
 sed -i &amp;#039;s/sanity(/ConfigServer::Sanity::sanity(/g&amp;#039; /usr/local/csf/bin/csfui.pl&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Max connections on Linux ==&lt;br /&gt;
&lt;br /&gt;
Add to /etc/sysctl.conf:&lt;br /&gt;
&lt;br /&gt;
 fs.file-max = 70000&lt;br /&gt;
 net.ipv4.tcp_tw_recycle=0&lt;br /&gt;
 net.ipv4.tcp_fin_timeout = 10&lt;br /&gt;
 net.ipv4.ip_local_port_range = 15000 61000&lt;br /&gt;
 net.core.somaxconn = 1024&lt;br /&gt;
 net.core.netdev_max_backlog = 2000&lt;br /&gt;
&lt;br /&gt;
== CSF configuration ==&lt;br /&gt;
&lt;br /&gt;
 ## Automated configuration:&lt;br /&gt;
 &lt;br /&gt;
 sed -i &amp;#039;s/TESTING = &amp;quot;1&amp;quot;/TESTING = &amp;quot;0&amp;quot;/&amp;#039; /etc/csf/csf.conf&lt;br /&gt;
 sed -i &amp;#039;s/RESTRICT_SYSLOG = &amp;quot;0&amp;quot;/RESTRICT_SYSLOG = &amp;quot;3&amp;quot;/&amp;#039; /etc/csf/csf.conf&lt;br /&gt;
 sed -i &amp;#039;s/IPV6 = &amp;quot;1&amp;quot;/IPV6 = &amp;quot;0&amp;quot;/&amp;#039; /etc/csf/csf.conf&lt;br /&gt;
 sed -i &amp;#039;s/IGNORE_ALLOW = &amp;quot;0&amp;quot;/IGNORE_ALLOW = &amp;quot;1&amp;quot;/&amp;#039; /etc/csf/csf.conf&lt;br /&gt;
 sed -i &amp;#039;s/CONNLIMIT = &amp;quot;&amp;quot;/CONNLIMIT = &amp;quot;22;5,80;70&amp;quot;/&amp;#039; /etc/csf/csf.conf&lt;br /&gt;
 sed -i &amp;#039;s/PORTFLOOD = &amp;quot;&amp;quot;/PORTFLOOD = &amp;quot;22;tcp;5;300,80;tcp;100;1,443;tcp;100;5&amp;quot;/&amp;#039; /etc/csf/csf.conf&lt;br /&gt;
 sed -i &amp;#039;s/CT_LIMIT = &amp;quot;0&amp;quot;/CT_LIMIT = &amp;quot;300&amp;quot;/&amp;#039; /etc/csf/csf.conf&lt;br /&gt;
  &lt;br /&gt;
 ## Disable LFD alerts: Only if you want to disable them!!&lt;br /&gt;
 &lt;br /&gt;
 sed -i &amp;#039;s/LF_EMAIL_ALERT = &amp;quot;1&amp;quot;/LF_EMAIL_ALERT = &amp;quot;0&amp;quot;/&amp;#039; /etc/csf/csf.conf&lt;br /&gt;
 sed -i &amp;#039;s/LF_SSH_EMAIL_ALERT = &amp;quot;1&amp;quot;/LF_SSH_EMAIL_ALERT = &amp;quot;0&amp;quot;/&amp;#039; /etc/csf/csf.conf&lt;br /&gt;
 sed -i &amp;#039;s/LF_SU_EMAIL_ALERT = &amp;quot;1&amp;quot;/LF_SU_EMAIL_ALERT = &amp;quot;0&amp;quot;/&amp;#039; /etc/csf/csf.conf&lt;br /&gt;
 sed -i &amp;#039;s/LF_WEBMIN_EMAIL_ALERT = &amp;quot;1&amp;quot;/LF_WEBMIN_EMAIL_ALERT = &amp;quot;0&amp;quot;/&amp;#039; /etc/csf/csf.conf&lt;br /&gt;
 sed -i &amp;#039;s/LF_CONSOLE_EMAIL_ALERT = &amp;quot;1&amp;quot;/LF_CONSOLE_EMAIL_ALERT = &amp;quot;0&amp;quot;/&amp;#039; /etc/csf/csf.conf&lt;br /&gt;
 sed -i &amp;#039;s/LT_EMAIL_ALERT = &amp;quot;1&amp;quot;/LT_EMAIL_ALERT = &amp;quot;0&amp;quot;/&amp;#039; /etc/csf/csf.conf&lt;br /&gt;
 sed -i &amp;#039;s/CT_EMAIL_ALERT = &amp;quot;1&amp;quot;/CT_EMAIL_ALERT = &amp;quot;0&amp;quot;/&amp;#039; /etc/csf/csf.conf&lt;br /&gt;
 sed -i &amp;#039;s/PS_EMAIL_ALERT = &amp;quot;1&amp;quot;/PS_EMAIL_ALERT = &amp;quot;0&amp;quot;/&amp;#039; /etc/csf/csf.conf&lt;br /&gt;
 &lt;br /&gt;
 ## Disable PT alerts: Only if you want to disable them!!&lt;br /&gt;
 &lt;br /&gt;
 sed -i &amp;#039;s/PT_USERPROC = &amp;quot;10&amp;quot;/PT_USERPROC = &amp;quot;0&amp;quot;/&amp;#039; /etc/csf/csf.conf&lt;br /&gt;
 sed -i &amp;#039;s/PT_USERMEM = &amp;quot;256&amp;quot;/PT_USERMEM = &amp;quot;0&amp;quot;/&amp;#039; /etc/csf/csf.conf&lt;br /&gt;
 sed -i &amp;#039;s/PT_USERTIME = &amp;quot;1800&amp;quot;/PT_USERTIME = &amp;quot;0&amp;quot;/&amp;#039; /etc/csf/csf.conf&lt;br /&gt;
 sed -i &amp;#039;s/PT_USERKILL_ALERT = &amp;quot;1&amp;quot;/PT_USERKILL_ALERT = &amp;quot;0&amp;quot;/&amp;#039; /etc/csf/csf.conf&lt;br /&gt;
 sed -i &amp;#039;s/PT_LOAD = &amp;quot;30&amp;quot;/PT_LOAD = &amp;quot;0&amp;quot;/&amp;#039; /etc/csf/csf.conf&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Rescan drives ==&lt;br /&gt;
&lt;br /&gt;
 echo &amp;quot;- - -&amp;quot; &amp;gt; /sys/class/scsi_host/host0/scan&lt;br /&gt;
&lt;br /&gt;
 echo 1 &amp;gt; /sys/class/scsi_device/2\:0\:0\:0/device/rescan&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Find PTR owner - reversal ==&lt;br /&gt;
&lt;br /&gt;
 dig 0.168.192.in-addr.arpa. NS&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Fix locales in Ubuntu ==&lt;br /&gt;
 locale-gen en_US.UTF-8&lt;br /&gt;
 dpkg-reconfigure locales&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Change permissions to all files and folders ==&lt;br /&gt;
 chown `stat -c %U .`.`stat -c %U .` * -R&lt;br /&gt;
&lt;br /&gt;
== Open last edited file ==&lt;br /&gt;
 less `ls -dx1tr /usr/local/cpanel/logs/cpbackup/*|tail -1`&lt;br /&gt;
&lt;br /&gt;
== Clear cache and swap ==&lt;br /&gt;
 echo 3 &amp;gt; /proc/sys/vm/drop_caches &amp;amp;&amp;amp; swapoff -a &amp;amp;&amp;amp; swapon -a&lt;br /&gt;
&lt;br /&gt;
== Disable core files in CPanel accounts ==&lt;br /&gt;
&lt;br /&gt;
Add this in /etc/sysctl.conf&lt;br /&gt;
 kernel.core_uses_pid = 0&lt;br /&gt;
 kernel.core_pattern = /dev/null&lt;br /&gt;
&lt;br /&gt;
And run:&lt;br /&gt;
 sysctl -p&lt;br /&gt;
&lt;br /&gt;
== Add HSTS support in CPANEL ==&lt;br /&gt;
 cp -p /var/cpanel/templates/apache2_4/ssl_vhost.default /var/cpanel/templates/apache2_4/ssl_vhost.local&lt;br /&gt;
 vi /var/cpanel/templates/apache2_4/ssl_vhost.local&lt;br /&gt;
&lt;br /&gt;
Edit:&lt;br /&gt;
 &amp;lt;VirtualHost[% FOREACH ipblock IN vhost.ips %] [% ipblock.ip %]:[% ipblock.port %][% END %]&amp;gt;&lt;br /&gt;
  # Enable HTTP Strict Transport Security&lt;br /&gt;
  Header always set Strict-Transport-Security &amp;quot;max-age=63072000; includeSubdomains;&amp;quot;&lt;br /&gt;
&lt;br /&gt;
 cp -p /var/cpanel/templates/apache2_4/main.default /var/cpanel/templates/apache2_4/main.local&lt;br /&gt;
 vi /var/cpanel/templates/apache2_4/main.local&lt;br /&gt;
&lt;br /&gt;
Edit:&lt;br /&gt;
 [% IF main.sslprotocol.item.sslprotocol.length %]SSLProtocol [% main.sslprotocol.item.sslprotocol %][% END %]&lt;br /&gt;
 SSLHonorCipherOrder on&lt;br /&gt;
&lt;br /&gt;
Run:&lt;br /&gt;
 /scripts/rebuildhttpdconf&lt;br /&gt;
 service httpd restart&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Install mod_pagespeed on WHM ==&lt;br /&gt;
&lt;br /&gt;
With EA3:&lt;br /&gt;
 /usr/local/cpanel/3rdparty/bin/git clone https://github.com/pagespeed/cpanel.git /tmp/pagespeed/&lt;br /&gt;
 cd /tmp/pagespeed/Easy&lt;br /&gt;
 tar -zcvf Speed.pm.tar.gz pagespeed&lt;br /&gt;
 mkdir -p /var/cpanel/easy/apache/custom_opt_mods/Cpanel/Easy&lt;br /&gt;
 mv Speed.pm Speed.pm.tar.gz -t /var/cpanel/easy/apache/custom_opt_mods/Cpanel/Easy/&lt;br /&gt;
 cd &amp;amp;&amp;amp; rm -rf /tmp/pagespeed&lt;br /&gt;
&lt;br /&gt;
With EA4:&lt;br /&gt;
&lt;br /&gt;
Create file /etc/rpm/macros.apache2 and add the following lines of code exactly as below&lt;br /&gt;
 %_httpd_mmn 20120211x8664&lt;br /&gt;
 %_httpd_apxs /usr/bin/apxs&lt;br /&gt;
 %_httpd_dir /etc/apache2&lt;br /&gt;
 %_httpd_bindir %{_httpd_dir}/bin&lt;br /&gt;
 %_httpd_modconfdir %{_httpd_dir}/conf.modules.d&lt;br /&gt;
 %_httpd_confdir %{_httpd_dir}/conf.d&lt;br /&gt;
 %_httpd_contentdir /usr/share/apache2&lt;br /&gt;
 %_httpd_moddir /usr/lib64/apache2/modules&lt;br /&gt;
&lt;br /&gt;
Next run the following commands in order, make sure you run each command on it’s own&lt;br /&gt;
 rm -rf /root/rpmbuild/RPMS/x86_64/&lt;br /&gt;
 wget https://github.com/pagespeed/cpanel/raw/master/EA4/ea-apache24-mod_pagespeed-latest-stable.src.rpm&lt;br /&gt;
 rpmbuild --rebuild ea-apache24-mod_pagespeed-latest-stable.src.rpm&lt;br /&gt;
 rpm -Uvh /root/rpmbuild/RPMS/x86_64/ea-apache24-mod_pagespeed*.rpm&lt;br /&gt;
 /etc/init.d/httpd restart&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Resize root partition without reboot ==&lt;br /&gt;
&lt;br /&gt;
Resize HD size in VC&lt;br /&gt;
Run: (replace the device if needed)&lt;br /&gt;
 echo 1 &amp;gt; /sys/class/scsi_device/2\:0\:0\:0/device/rescan&lt;br /&gt;
 run fdisk:&lt;br /&gt;
print the old partition and save the output&lt;br /&gt;
delete the root partition&lt;br /&gt;
create a new partition using the SAME start block and make sure that the end block is higher than previous one (enter, enter, enter…)&lt;br /&gt;
write changes (ignore error)&lt;br /&gt;
run:&lt;br /&gt;
 partx -u /dev/sda&lt;br /&gt;
 resize2fs -f /dev/sda3&lt;br /&gt;
Make sure everything is OK:&lt;br /&gt;
 df -h&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Delete files with a large file list - Argument list too long ==&lt;br /&gt;
 find . -name &amp;#039;*&amp;#039;|xargs rm&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Show all domains in NGINX configuration ==&lt;br /&gt;
&lt;br /&gt;
 grep -e &amp;quot;^\s*server_name&amp;quot; /etc/nginx/conf.d/*|sed -e &amp;#039;s/[\t ]*server_name//g;&amp;#039;|sed -e &amp;quot;s/ /\+/g&amp;quot;|sed -e &amp;#039;s/;//g&amp;#039;|while read line; do for i in $line; do echo -n &amp;quot;$i &amp;quot;|sed -e &amp;#039;s/://&amp;#039;  -e &amp;#039;s/\+/\n  |--/g&amp;#039;; done ;echo; done; echo&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Kill process that runs more than X time ==&lt;br /&gt;
&lt;br /&gt;
Kill cgi after 30 secs:&lt;br /&gt;
 for i in `ps -eo pid,etime,cmd|grep cgi|awk &amp;#039;$2 &amp;gt; &amp;quot;00:30&amp;quot; {print $1}&amp;#039;`; do kill $i; done&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Unblock Invalid packets in CSF ==&lt;br /&gt;
 # Drop out of order packets and packets in an INVALID state in iptables&lt;br /&gt;
 # connection tracking&lt;br /&gt;
 PACKET_FILTER = &amp;quot;0&amp;quot;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Who uses RAM ==&lt;br /&gt;
&lt;br /&gt;
 ps aux  | awk &amp;#039;{print $6/1024 &amp;quot; MB\t\t&amp;quot; $11}&amp;#039;  | sort -n&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Fix WHM/CPanel templates  ==&lt;br /&gt;
&lt;br /&gt;
 cp /usr/local/apache/conf/httpd.conf{,.cptech-`date +%Y%m%d`}&lt;br /&gt;
 mv /var/cpanel/templates/apache2_4/vhost.local /var/cpanel/templates/apache2_4/vhost.local.bak&lt;br /&gt;
 mv /var/cpanel/templates/apache2_4/ssl_vhost.local /var/cpanel/templates/apache2_4/ssl_vhost.local.bak&lt;br /&gt;
 /scripts/rebuildhttpdconf&lt;br /&gt;
 /scripts/restartsrv_httpd&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Fix NFS mount on boot - Centos 7 ==&lt;br /&gt;
&lt;br /&gt;
Append text to the end of /usr/lib/systemd/system/nfs-idmap.service&lt;br /&gt;
 [Install]&lt;br /&gt;
 WantedBy=multi-user.target&lt;br /&gt;
&lt;br /&gt;
Append text to the end of /usr/lib/systemd/system/nfs-lock.service&lt;br /&gt;
 [Install]&lt;br /&gt;
 WantedBy=nfs.target&lt;br /&gt;
&lt;br /&gt;
Enable related services&lt;br /&gt;
&lt;br /&gt;
 systemctl enable nfs-idmapd.service &lt;br /&gt;
 systemctl enable rpc-statd.service &lt;br /&gt;
 systemctl enable rpcbind.socket&lt;br /&gt;
&lt;br /&gt;
Reboot the server&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Login to WHM with link ==&lt;br /&gt;
&lt;br /&gt;
 whmapi1 create_user_session user=root service=whostmgrd locale=en&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Update date and time on Linux server ==&lt;br /&gt;
&lt;br /&gt;
 sudo ntpd -qg; sudo hwclock -w&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Clone Linux user ==&lt;br /&gt;
&lt;br /&gt;
 #!/bin/bash&lt;br /&gt;
 SRC=$1&lt;br /&gt;
 DEST=$2&lt;br /&gt;
 &lt;br /&gt;
 SRC_GROUPS=$(id -Gn ${SRC} | sed &amp;quot;s/${SRC} //g&amp;quot; | sed &amp;quot;s/ ${SRC}//g&amp;quot; | sed &amp;quot;s/ /,/g&amp;quot;)&lt;br /&gt;
 SRC_SHELL=$(awk -F : -v name=${SRC} &amp;#039;(name == $1) { print $7 }&amp;#039; /etc/passwd)&lt;br /&gt;
 &lt;br /&gt;
 useradd --groups ${SRC_GROUPS} --shell ${SRC_SHELL} --create-home ${DEST}&lt;br /&gt;
 passwd ${DEST}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Reload VM after UUID change ==&lt;br /&gt;
&lt;br /&gt;
 vim-cmd vmsvc/getallvms&lt;br /&gt;
 vim-cmd vmsvc/reload $vmID&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Size of suspended accounts in WHM ==&lt;br /&gt;
 for i in `whmapi1 listsuspended|grep user|cut -d: -f2`; do echo &amp;quot;Suspended account: $i - using&amp;quot; `whmapi1 listaccts search=$i searchtype=user|grep diskused|cut -d: -f2`; done&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Clear BOOT on Ubuntu when 100% ==&lt;br /&gt;
 dpkg --purge `dpkg --list|grep &amp;quot;linux-&amp;quot;|grep -v \`uname -r|sed &amp;#039;s/-generic//g&amp;#039;\`|cut -d&amp;quot; &amp;quot; -f3|grep &amp;quot;[0-9]-&amp;quot;|paste -sd &amp;quot; &amp;quot; -`&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== One-time login to wordpress ==&lt;br /&gt;
&lt;br /&gt;
Install wp cli:&lt;br /&gt;
&lt;br /&gt;
 curl -O https://raw.githubusercontent.com/wp-cli/builds/gh-pages/phar/wp-cli.phar&lt;br /&gt;
 chmod +x wp-cli.phar&lt;br /&gt;
 mv wp-cli.phar /usr/local/bin/wp&lt;br /&gt;
&lt;br /&gt;
Run from the WordPress installed location:&lt;br /&gt;
&lt;br /&gt;
 useradmin=`wp user list --role=administrator --format=csv --allow-root | cut -d&amp;#039;,&amp;#039; -f2 | head -2 | tail -1` &amp;amp;&amp;amp;  wp plugin install one-time-login --activate --allow-root &amp;amp;&amp;amp; wp user one-time-login $useradmin --allow-root &amp;amp;&amp;amp; user=$(stat -c &amp;quot;%U&amp;quot; `pwd`) &amp;amp;&amp;amp; chown $user.$user wp-content/ -R&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Cpanel resources consumption history per user ==&lt;br /&gt;
 &amp;lt;nowiki&amp;gt;OUT=$(/usr/local/cpanel/bin/dcpumonview | grep -v Top | sed -e &amp;#039;s#&amp;lt;[^&amp;gt;]*&amp;gt;# #g&amp;#039; | while read i ; do NF=`echo $i | awk {&amp;#039;print NF&amp;#039;}` ; if [[ &amp;quot;$NF&amp;quot; == &amp;quot;5&amp;quot; ]] ; then USER=`echo $i | awk {&amp;#039;print $1&amp;#039;}`; OWNER=`grep -e &amp;quot;^OWNER=&amp;quot; /var/cpanel/users/$USER | cut -d= -f2` ; echo &amp;quot;$OWNER $i&amp;quot;; fi ; done) ; (echo &amp;quot;USER CPU&amp;quot; ; echo &amp;quot;$OUT&amp;quot; | sort -nrk4 | awk &amp;#039;{printf &amp;quot;%s %s%\n&amp;quot;,$2,$4}&amp;#039; | head -5) | column -t ;echo;(echo -e &amp;quot;USER MEMORY&amp;quot; ; echo &amp;quot;$OUT&amp;quot; | sort -nrk5 | awk &amp;#039;{printf &amp;quot;%s %s%\n&amp;quot;,$2,$5}&amp;#039; | head -5) | column -t ;echo;(echo -e &amp;quot;USER MYSQL&amp;quot; ; echo &amp;quot;$OUT&amp;quot; | sort -nrk6 | awk &amp;#039;{printf &amp;quot;%s %s%\n&amp;quot;,$2,$6}&amp;#039; | head -5) | column -t ; &amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Engintron generate custom_rules for all domains on the server. ==&lt;br /&gt;
 ip=`hostname -i` &amp;amp;&amp;amp; for domain in `httpd -S |  grep www. | awk -F &amp;#039;www.&amp;#039; &amp;#039;{print $2}&amp;#039;`;do printf &amp;quot;if ( \$host ~ \&amp;quot;%s\&amp;quot;) {set \$PROXY_DOMAIN_OR_IP \&amp;quot;$ip\&amp;quot;;}\n&amp;quot; $domain ;done &amp;gt;&amp;gt; /etc/nginx/custom_rules &amp;amp;&amp;amp; service nginx reload&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Fix Installatron - error 500 or missing list/install ==&lt;br /&gt;
 /usr/local/installatron/repair -f --release --quick&lt;br /&gt;
[https://installatron.com/docs/admin/troubleshooting#missinginstalls Installatron FIX]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Find root of a site and CD to it ==&lt;br /&gt;
&lt;br /&gt;
Replace domain.com with desired domain&lt;br /&gt;
 cd `grep &amp;quot;domain.com&amp;quot; /etc/apache2/conf/httpd.conf -A7|grep Root|head -1|awk &amp;#039;{print $2}&amp;#039;`&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Generate CSR with OPENSSL ==&lt;br /&gt;
&lt;br /&gt;
Generate key:&lt;br /&gt;
 openssl genrsa -out private.key 2048&lt;br /&gt;
&lt;br /&gt;
Gemnerate CSR:&lt;br /&gt;
 openssl req -new -sha256 -key private.key -out mycsr.csr&lt;br /&gt;
&lt;br /&gt;
== Links ==&lt;br /&gt;
Installing Redis: [https://troubleshootguru.wordpress.com/2014/11/19/how-to-install-redis-on-a-centos-6-5-centos-7-0-server-2/] [https://www.fastcomet.com/community/question/wordpress-caching-with-redis-centos-cpanel/] [https://nixtree.com/blog/install-redis-daemon-and-redis-php-extention-on-centosrhelcpanel/]&lt;br /&gt;
&lt;br /&gt;
Windows images [http://torrent-win.net/windows_original/]&lt;br /&gt;
&lt;br /&gt;
Github: [https://github.com/romanost Github]&lt;br /&gt;
&lt;br /&gt;
Arista: [https://www.arista.com/assets/data/docs/Manuals/EOS-4.17.0F-Manual.pdf Manual] [https://www.arista.com/en/um-eos/eos-section-3-10-command-line-interface-commands CLI]&lt;br /&gt;
&lt;br /&gt;
VMware converter old version [http://soft.assenov.net/software/index.php?dir=VMWare/ Link]&lt;br /&gt;
&lt;br /&gt;
GEOip on EA4 [https://grepitout.com/install-mod_geoip-cpanel-easyapache-4/ link]&lt;br /&gt;
&lt;br /&gt;
PHP Malware finder [https://github.com/nbs-system/php-malware-finder link]&lt;/div&gt;</summary>
		<author><name>Meadmin</name></author>	</entry>

	<entry>
		<id>https://mywiki.romanost.co.il/index.php?title=Windows&amp;diff=57</id>
		<title>Windows</title>
		<link rel="alternate" type="text/html" href="https://mywiki.romanost.co.il/index.php?title=Windows&amp;diff=57"/>
				<updated>2018-10-22T13:11:32Z</updated>
		
		<summary type="html">&lt;p&gt;Meadmin: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== Delete HX user ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
 $domain = &amp;quot;Domain_name.com&amp;quot;&lt;br /&gt;
 Get-AddressBookPolicy $domain* | Remove-AddressBookPolicy -Confirm:$false&lt;br /&gt;
 Get-AddressList $domain* | Remove-AddressList -Confirm:$false&lt;br /&gt;
 Get-GlobalAddressList $domain* | Remove-GlobalAddressList -Confirm:$false&lt;br /&gt;
 Get-OfflineAddressBook $domain* | Remove-OfflineAddressBook -Confirm:$false&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Identify Worker Process in IIS 7.0 ==&lt;br /&gt;
&lt;br /&gt;
* From IIS 7.0 you need you to run IIS Command Tool ( appcmd ) .&lt;br /&gt;
&lt;br /&gt;
* Start &amp;gt; Run &amp;gt; Cmd&lt;br /&gt;
* Go To Windows &amp;gt; System32 &amp;gt; Inetsrv&lt;br /&gt;
* Run appcmd list wp&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Installing terminal licenses server 2012 2008 R2 ==&lt;br /&gt;
&lt;br /&gt;
* In powershell enter the following commands:&lt;br /&gt;
&lt;br /&gt;
 $obj = gwmi -namespace &amp;quot;Root/CIMV2/TerminalServices&amp;quot; Win32_TerminalServiceSetting&lt;br /&gt;
 $obj.ChangeMode(4)&lt;br /&gt;
 $obj.SetSpecifiedLicenseServerList(&amp;quot;$env:computername&amp;quot;)&lt;br /&gt;
 $obj.GetSpecifiedLicenseServerList()&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Remote control windows server 2012 ==&lt;br /&gt;
&lt;br /&gt;
 qwinsta&lt;br /&gt;
 mstsc.exe /shadow:sessionID /control /noConsentPrompt&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Export IIS bindings ==&lt;br /&gt;
&lt;br /&gt;
 %windir%\system32\inetsrv\appcmd list site &amp;gt; c:\sites-list.txt&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Fix DCOM permissions error ==&lt;br /&gt;
 https://www.tenforums.com/general-support/69270-dcom-error-10016-re-appid-f72671a9-012c-4725-9d2f-2a4d32d65169.html&lt;br /&gt;
&lt;br /&gt;
Run regedit and let it search for the first Hive Key.&lt;br /&gt;
Right click it and select &amp;quot;Permissions&amp;quot; A box will pop up. Tick &amp;quot;Advanced&amp;quot; &lt;br /&gt;
Another box appears and you will see that the Hive Key is owned by &amp;quot;Trusted Installer&amp;quot;&lt;br /&gt;
&lt;br /&gt;
Click on &amp;quot;Change&amp;quot; and type &amp;quot;Administrators&amp;quot; (without the quotation marks). Click apply and OK until your back into the first panel. Select Administrators from the list there and click on the &amp;quot;Full Control&amp;quot; check box.&lt;br /&gt;
&lt;br /&gt;
Now do the same for the next Hive Key.&lt;br /&gt;
&lt;br /&gt;
Leave Regedit open and run dcomcnfg. Click on the right hand side object until you see dcomconfig. Double click it and scroll down to the object named:&lt;br /&gt;
&lt;br /&gt;
{F72671A9-012C-4725-9D2F-2A4D32D65169}&lt;br /&gt;
&lt;br /&gt;
Right click that and select &amp;quot;Properties&amp;quot;. Under &amp;quot;Launch and Activation&amp;quot; click on &amp;quot;Edit&amp;quot; . Add User &amp;quot;SYSTEM&amp;quot; (no quotes),&lt;br /&gt;
Click OK. Back in the first panel select &amp;quot;SYSTEM&amp;quot; and click on the local permissions. &lt;br /&gt;
&lt;br /&gt;
Close dcomcnfg and go back to regedit. In there you need to grant back ownership to the original owners.&lt;br /&gt;
In this case one Hive Key was owned by &amp;quot;SYSTEM&amp;quot; the other by &amp;quot;TrustedInstaller&amp;quot; (type: NT SERVICE\TrustedInstaller)&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Fix Israel daylight timezone==&lt;br /&gt;
&lt;br /&gt;
Old:&lt;br /&gt;
&lt;br /&gt;
[HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows NT\CurrentVersion\Time Zones\Israel Standard Time]&lt;br /&gt;
 88 FF FF FF 00 00 00 00 &lt;br /&gt;
 C4 FF FF FF 00 00 0A 00&lt;br /&gt;
 00 00 05 00 02 00 00 00&lt;br /&gt;
 00 00 00 00 00 00 03 00&lt;br /&gt;
 05 00 04 00 02 00 00 00&lt;br /&gt;
 00 00 00 00&lt;br /&gt;
&lt;br /&gt;
New:&lt;br /&gt;
 88 ff ff ff 00 00 00 00&lt;br /&gt;
 c4 ff ff ff 00 00 0a 00&lt;br /&gt;
 00 00 01 00 02 00 00 00&lt;br /&gt;
 00 00 00 00 00 00 03 00&lt;br /&gt;
 05 00 05 00 02 00 00 00&lt;br /&gt;
 00 00 00 00&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows NT\CurrentVersion\Time Zones\Israel Standard Time\Dynamic DST]&lt;br /&gt;
&lt;br /&gt;
Old: 2018:&lt;br /&gt;
 88 FF FF FF 00 00 00 00&lt;br /&gt;
 C4 FF FF FF 00 00 0A 00&lt;br /&gt;
 00 00 05 00 02 00 00 00&lt;br /&gt;
 00 00 00 00 00 00 03 00&lt;br /&gt;
 05 00 04 00 02 00 00 00&lt;br /&gt;
 00 00 00 00&lt;br /&gt;
&lt;br /&gt;
2019,2020,2021,2022:&lt;br /&gt;
 88 FF FF FF 00 00 00 00&lt;br /&gt;
 C4 FF FF FF 00 00 0A 00&lt;br /&gt;
 00 00 05 00 02 00 00 00&lt;br /&gt;
 00 00 00 00 00 00 03 00&lt;br /&gt;
 05 00 05 00 02 00 00 00&lt;br /&gt;
 00 00 00 00&lt;br /&gt;
&lt;br /&gt;
New:&lt;br /&gt;
2018:&lt;br /&gt;
 88 ff ff ff 00 00 00 00&lt;br /&gt;
 c4 ff ff ff 00 00 0a 00&lt;br /&gt;
 00 00 01 00 02 00 00 00&lt;br /&gt;
 00 00 00 00 00 00 03 00&lt;br /&gt;
 05 00 04 00 02 00 00 00&lt;br /&gt;
 00 00 00 00&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
2019,2020,2021,2022:&lt;br /&gt;
 88 ff ff ff 00 00 00 00&lt;br /&gt;
 c4 ff ff ff 00 00 0a 00&lt;br /&gt;
 00 00 01 00 02 00 00 00&lt;br /&gt;
 00 00 00 00 00 00 03 00&lt;br /&gt;
 05 00 05 00 02 00 00 00&lt;br /&gt;
 00 00 00 00&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Links ==&lt;br /&gt;
&lt;br /&gt;
IIS 8.5 A+ SSL Labs [https://www.hass.de/content/setup-your-iis-ssl-perfect-forward-secrecy-and-tls-12]&lt;/div&gt;</summary>
		<author><name>Meadmin</name></author>	</entry>

	<entry>
		<id>https://mywiki.romanost.co.il/index.php?title=Linux&amp;diff=56</id>
		<title>Linux</title>
		<link rel="alternate" type="text/html" href="https://mywiki.romanost.co.il/index.php?title=Linux&amp;diff=56"/>
				<updated>2018-10-03T11:30:15Z</updated>
		
		<summary type="html">&lt;p&gt;Meadmin: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&lt;br /&gt;
== Wordpress login attack check ==&lt;br /&gt;
&lt;br /&gt;
 &amp;#039;&amp;#039;&amp;#039;Crontab :&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
 0 */6 * * *  sh /root/wplogin.sh&lt;br /&gt;
 &lt;br /&gt;
 &amp;#039;&amp;#039;&amp;#039;Script :&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
 #!/bin/bash&lt;br /&gt;
 &lt;br /&gt;
 ###start editing&lt;br /&gt;
 thold=&amp;quot;100&amp;quot;&lt;br /&gt;
 btime=&amp;quot;359m&amp;quot;&lt;br /&gt;
 ###stop editing&lt;br /&gt;
 &lt;br /&gt;
 egrep &amp;#039;wp-login.php&amp;#039; /usr/local/apache/domlogs/* | grep -v ftp_log | awk -F : &amp;#039;{print $2}&amp;#039; | awk &amp;#039;{print $1}&amp;#039; | sort | uniq -c | sort -n | awk -v limit=&amp;quot;$thold&amp;quot; &amp;#039;$1 &amp;gt; limit{print $2}&amp;#039; &amp;gt; $$_ip_$$&lt;br /&gt;
 &lt;br /&gt;
 while IFS= read -r line&lt;br /&gt;
         do&lt;br /&gt;
                 /usr/sbin/csf -td &amp;quot;$line&amp;quot;  &amp;quot;$btime&amp;quot; &amp;quot;banned for wordpress attack&amp;quot;&lt;br /&gt;
         done &amp;lt; $$_ip_$$&lt;br /&gt;
 rm -f $$_ip_$$&lt;br /&gt;
&lt;br /&gt;
== Prevent OOM killer ==&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Edit file /etc/sysctl.conf&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
 &lt;br /&gt;
 vm.overcommit_memory = 2 &lt;br /&gt;
 vm.overcommit_ratio = 100&lt;br /&gt;
&lt;br /&gt;
In case of bad memory usage (php out of memory) use this settings:&lt;br /&gt;
&lt;br /&gt;
 vm.overcommit_memory = 0&lt;br /&gt;
 vm.overcommit_ratio = 80&lt;br /&gt;
&lt;br /&gt;
== Who is using SWAP ==&lt;br /&gt;
 grep VmSwap /proc/*/status 2&amp;gt;/dev/null | sort -nk2 | tail -n5&lt;br /&gt;
&lt;br /&gt;
Print with the process command:&lt;br /&gt;
 grep VmSwap /proc/*/status 2&amp;gt;/dev/null | sort -nk2 | tail -n5|awk -F&amp;#039;/&amp;#039; &amp;#039;{cmd=&amp;quot;cat /proc/&amp;quot; $3 &amp;quot;/cmdline&amp;quot;; cmd|getline var; close (cmd); printf $0 &amp;quot;\t&amp;quot;; print var}&amp;#039;  &lt;br /&gt;
&lt;br /&gt;
== Plesk on CentOS 12 bind fix ==&lt;br /&gt;
&lt;br /&gt;
The problem was nginx was attempting to bind to port 443 before the IP was initialized.&lt;br /&gt;
&lt;br /&gt;
To fix edit the /etx/sysctl.conf file and add &lt;br /&gt;
 net.ipv4.ip_nonlocal_bind = 1&lt;br /&gt;
&lt;br /&gt;
== WHM replica ==&lt;br /&gt;
&lt;br /&gt;
 rsync -avz 192.168.1.122:/home/ /home/ --exclude=&amp;quot;virtfs&amp;quot; --exclude=&amp;quot;\.cp*&amp;quot; --exclude=&amp;quot;cpeasyapache&amp;quot; &lt;br /&gt;
 rsync -avz 192.168.1.122:/usr/local/apache/conf/ /usr/local/apache/conf/&lt;br /&gt;
 rsync -avz 192.168.1.122:/var/named/ /var/named/&lt;br /&gt;
 rsync -avz 192.168.1.122:/usr/local/cpanel/ /usr/local/cpanel/&lt;br /&gt;
 rsync -avz 192.168.1.122:/var/cpanel/ /var/cpanel&lt;br /&gt;
&lt;br /&gt;
 chkconfig cpanel off&lt;br /&gt;
 chkconfig exim off&lt;br /&gt;
 chkconfig dovecot off&lt;br /&gt;
 chkconfig pure-ftpd off&lt;br /&gt;
 chkconfig named off&lt;br /&gt;
 chkconfig mysql off&lt;br /&gt;
 chkconfig csf off&lt;br /&gt;
 chkconfig iptables off&lt;br /&gt;
&lt;br /&gt;
 hostname: /etc/sysconfig/network&lt;br /&gt;
&lt;br /&gt;
 change shared ip - You can change it in /etc/wwwacct.conf infront of ADDR parameter.&lt;br /&gt;
 change ip - Usage: /usr/local/cpanel/bin/setsiteip [-u user | domain] ip   (/etc/trueuserowners)&lt;br /&gt;
 rebuild httpd conf&lt;br /&gt;
 restart apache&lt;br /&gt;
&lt;br /&gt;
== Apache memory usage ==&lt;br /&gt;
&lt;br /&gt;
 ps -ylC httpd | awk &amp;#039;{x += $8;y += 1} END {print &amp;quot;Apache Memory Usage (MB): &amp;quot;x/1024; print &amp;quot;Average Proccess Size (MB): &amp;quot;x/((y-1)*1024)}&amp;#039;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Wordpress pingback ==&lt;br /&gt;
&lt;br /&gt;
Nginx:&lt;br /&gt;
&lt;br /&gt;
 # WordPress Pingback Request Denial&lt;br /&gt;
 if ($http_user_agent ~* &amp;quot;WordPress&amp;quot;) {&lt;br /&gt;
   return 403;&lt;br /&gt;
 }&lt;br /&gt;
&lt;br /&gt;
Apache:&lt;br /&gt;
&lt;br /&gt;
 BrowserMatchNoCase WordPress wordpress_ping&lt;br /&gt;
 BrowserMatchNoCase Wordpress wordpress_ping&lt;br /&gt;
 Order Deny,Allow&lt;br /&gt;
 Deny from env=wordpress_ping&lt;br /&gt;
&lt;br /&gt;
== Find big files and folders ==&lt;br /&gt;
&lt;br /&gt;
 find / -mount -type f -print0 2&amp;gt;/dev/null | xargs -0 du 2&amp;gt;/dev/null | sort -n | tail -40 | cut -f2 | xargs -I{} du -sh 2&amp;gt;/dev/null {} | uniq; printf &amp;#039;+%.0s&amp;#039; {1..100}; echo; \&lt;br /&gt;
 find / -mount -type d -print0 2&amp;gt;/dev/null | xargs -0 du 2&amp;gt;/dev/null | sort -n | tail -40 | cut -f2 | xargs -I{} du -sh 2&amp;gt;/dev/null {} | uniq; printf &amp;#039;+%.0s&amp;#039; {1..100}; echo; \&lt;br /&gt;
 du -sh /var/cpanel/user_notifications &amp;amp;&amp;amp; du -sh /backup/cpbackup/*/dirs/_var_cpanel/user_notifications&lt;br /&gt;
&lt;br /&gt;
== Rebuild Sophos when disk full ==&lt;br /&gt;
&lt;br /&gt;
 /etc/init.d/postgresql92 rebuild&lt;br /&gt;
&lt;br /&gt;
On older versions:&lt;br /&gt;
 /var/mdw/scripts/smtp stop&lt;br /&gt;
 dropdb -U postgres smtp&lt;br /&gt;
 createdb -U postgres smtp&lt;br /&gt;
 /var/mdw/scripts/smtp start&lt;br /&gt;
&lt;br /&gt;
== Clear allowed networks on Sophos ==&lt;br /&gt;
&lt;br /&gt;
Login to the Sophos&lt;br /&gt;
 Type ‘cc’&lt;br /&gt;
 In cc, you’ll be in MAIN, if not, type ‘MAIN’&lt;br /&gt;
 Type ‘webadmin&amp;#039;&lt;br /&gt;
 Type ‘allowed_networks@&amp;#039;&lt;br /&gt;
 =[&amp;#039;REF_NetworkAny&amp;#039;]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Most accessed sites in the last minute ==&lt;br /&gt;
&lt;br /&gt;
 cat &amp;lt;&amp;lt;&amp;#039;SCRIPT&amp;#039; &amp;gt;&amp;gt;/root/sitesLoad.sh&lt;br /&gt;
 &lt;br /&gt;
 #!/bin/bash&lt;br /&gt;
 &amp;lt;nowiki&amp;gt;if [[ `netstat -ntalp | grep :80 | awk &amp;#039;$4 ~ /:80/ {print $0;exit}&amp;#039; | grep -q httpd; echo $?` -ne 0 ]]; then echo &amp;quot;Main web server is not Apache. Exiting...&amp;quot;; exit 1; fi&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
 &lt;br /&gt;
 log=/tmp/hostPop&lt;br /&gt;
 i=0&lt;br /&gt;
 find /usr/local/apache/domlogs/ -type f -mmin -1 ! -group root -exec ls -l {} \+ | awk &amp;#039;{print $4, $9}&amp;#039; | column -t&amp;gt;$log&lt;br /&gt;
 &lt;br /&gt;
 while read line; do&lt;br /&gt;
 ((++i))&lt;br /&gt;
        arr[$i]=$i&lt;br /&gt;
        arr[$i*1000]=$(printf &amp;quot;$line&amp;quot; | awk &amp;#039;{print $1}&amp;#039;)&lt;br /&gt;
        arr[$i*1001]=$(printf &amp;quot;$line&amp;quot; | awk &amp;#039;{print $2}&amp;#039;)&lt;br /&gt;
        arr[$i*1002]=$(wc -l `echo $line | awk &amp;#039;{print $NF}&amp;#039;` | cut -d&amp;#039; &amp;#039; -f 1)&lt;br /&gt;
 done &amp;lt; &amp;lt;(cat $log)&lt;br /&gt;
 &lt;br /&gt;
 echo &amp;quot;Analyzing apache logs in realtime for 1 minute...&amp;quot;; sleep 60&lt;br /&gt;
 &lt;br /&gt;
 for (( var=1 ; var&amp;lt;=$i ; var++ ))&lt;br /&gt;
 do&lt;br /&gt;
        printf &amp;quot;${arr[$var*1000]} ${arr[$var*1001]} &amp;quot;&lt;br /&gt;
        echo $((`wc -l $(echo ${arr[$var*1001]}) | cut -d&amp;#039; &amp;#039; -f 1` - ${arr[$var*1002]}));&lt;br /&gt;
 done | sed -e &amp;#039;s/\/usr\/local\/apache\/domlogs\///g&amp;#039; | sort -nrk 3 | column -t&lt;br /&gt;
 &lt;br /&gt;
 SCRIPT&lt;br /&gt;
 chmod 700 /root/sitesLoad.sh &amp;amp;&amp;amp; /root/sitesLoad.sh&lt;br /&gt;
&lt;br /&gt;
== PHP.INI upload big files ==&lt;br /&gt;
&lt;br /&gt;
 ini_set(&amp;#039;upload_max_filesize&amp;#039;, &amp;#039;10M&amp;#039;);&lt;br /&gt;
 ini_set(&amp;#039;post_max_size&amp;#039;, &amp;#039;10M&amp;#039;);&lt;br /&gt;
 ini_set(&amp;#039;max_input_time&amp;#039;, 300);&lt;br /&gt;
 ini_set(&amp;#039;max_execution_time&amp;#039;, 300);&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Change permissions (chmod) to folders and files ==&lt;br /&gt;
&lt;br /&gt;
 find . -type d -exec chmod 755 {} +                  &lt;br /&gt;
 find . -type f -exec chmod 644 {} +                 &lt;br /&gt;
&lt;br /&gt;
== Disable IPv6 ==&lt;br /&gt;
&lt;br /&gt;
For current session:&lt;br /&gt;
 echo 1 &amp;gt; /proc/sys/net/ipv6/conf/&amp;lt;interface-name&amp;gt;/disable_ipv6&lt;br /&gt;
 echo 1 &amp;gt; /proc/sys/net/ipv6/conf/eth0/disable_ipv6&lt;br /&gt;
&lt;br /&gt;
Permanent:&lt;br /&gt;
 vi /etc/sysctl.conf&lt;br /&gt;
 net.ipv6.conf.all.disable_ipv6 = 1&lt;br /&gt;
 sudo sysctl -p /etc/sysctl.conf&lt;br /&gt;
&lt;br /&gt;
== Virtual box boot from USB ==&lt;br /&gt;
 VBoxManage internalcommands createrawvmdk -filename C:\usb.vmdk -rawdisk \\.\PhysicalDrive#&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== CSF GUI on ISPCONFIG 3 ==&lt;br /&gt;
Install old CSF (before 8.13)&lt;br /&gt;
&lt;br /&gt;
Copy the ISPCONFIG folder to /etc/csf/ and enable CSF in ISPCONFIG&lt;br /&gt;
&lt;br /&gt;
Backup csfui* files&lt;br /&gt;
&lt;br /&gt;
Upgrade CSF&lt;br /&gt;
&lt;br /&gt;
Copy backuped csfui* files back&lt;br /&gt;
&lt;br /&gt;
Run the following commands:&lt;br /&gt;
 sed -i &amp;#039;s/checkip/ConfigServer::CheckIP::checkip/g&amp;#039; /usr/local/csf/bin/csfui.pl&lt;br /&gt;
 sed -i &amp;#039;s/sanity(/ConfigServer::Sanity::sanity(/g&amp;#039; /usr/local/csf/bin/csfui.pl&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Max connections on Linux ==&lt;br /&gt;
&lt;br /&gt;
Add to /etc/sysctl.conf:&lt;br /&gt;
&lt;br /&gt;
 fs.file-max = 70000&lt;br /&gt;
 net.ipv4.tcp_tw_recycle=0&lt;br /&gt;
 net.ipv4.tcp_fin_timeout = 10&lt;br /&gt;
 net.ipv4.ip_local_port_range = 15000 61000&lt;br /&gt;
 net.core.somaxconn = 1024&lt;br /&gt;
 net.core.netdev_max_backlog = 2000&lt;br /&gt;
&lt;br /&gt;
== CSF configuration ==&lt;br /&gt;
&lt;br /&gt;
 ## Automated configuration:&lt;br /&gt;
 &lt;br /&gt;
 sed -i &amp;#039;s/TESTING = &amp;quot;1&amp;quot;/TESTING = &amp;quot;0&amp;quot;/&amp;#039; /etc/csf/csf.conf&lt;br /&gt;
 sed -i &amp;#039;s/RESTRICT_SYSLOG = &amp;quot;0&amp;quot;/RESTRICT_SYSLOG = &amp;quot;3&amp;quot;/&amp;#039; /etc/csf/csf.conf&lt;br /&gt;
 sed -i &amp;#039;s/IPV6 = &amp;quot;1&amp;quot;/IPV6 = &amp;quot;0&amp;quot;/&amp;#039; /etc/csf/csf.conf&lt;br /&gt;
 sed -i &amp;#039;s/IGNORE_ALLOW = &amp;quot;0&amp;quot;/IGNORE_ALLOW = &amp;quot;1&amp;quot;/&amp;#039; /etc/csf/csf.conf&lt;br /&gt;
 sed -i &amp;#039;s/CONNLIMIT = &amp;quot;&amp;quot;/CONNLIMIT = &amp;quot;22;5,80;70&amp;quot;/&amp;#039; /etc/csf/csf.conf&lt;br /&gt;
 sed -i &amp;#039;s/PORTFLOOD = &amp;quot;&amp;quot;/PORTFLOOD = &amp;quot;22;tcp;5;300,80;tcp;100;1,443;tcp;100;5&amp;quot;/&amp;#039; /etc/csf/csf.conf&lt;br /&gt;
 sed -i &amp;#039;s/CT_LIMIT = &amp;quot;0&amp;quot;/CT_LIMIT = &amp;quot;300&amp;quot;/&amp;#039; /etc/csf/csf.conf&lt;br /&gt;
  &lt;br /&gt;
 ## Disable LFD alerts: Only if you want to disable them!!&lt;br /&gt;
 &lt;br /&gt;
 sed -i &amp;#039;s/LF_EMAIL_ALERT = &amp;quot;1&amp;quot;/LF_EMAIL_ALERT = &amp;quot;0&amp;quot;/&amp;#039; /etc/csf/csf.conf&lt;br /&gt;
 sed -i &amp;#039;s/LF_SSH_EMAIL_ALERT = &amp;quot;1&amp;quot;/LF_SSH_EMAIL_ALERT = &amp;quot;0&amp;quot;/&amp;#039; /etc/csf/csf.conf&lt;br /&gt;
 sed -i &amp;#039;s/LF_SU_EMAIL_ALERT = &amp;quot;1&amp;quot;/LF_SU_EMAIL_ALERT = &amp;quot;0&amp;quot;/&amp;#039; /etc/csf/csf.conf&lt;br /&gt;
 sed -i &amp;#039;s/LF_WEBMIN_EMAIL_ALERT = &amp;quot;1&amp;quot;/LF_WEBMIN_EMAIL_ALERT = &amp;quot;0&amp;quot;/&amp;#039; /etc/csf/csf.conf&lt;br /&gt;
 sed -i &amp;#039;s/LF_CONSOLE_EMAIL_ALERT = &amp;quot;1&amp;quot;/LF_CONSOLE_EMAIL_ALERT = &amp;quot;0&amp;quot;/&amp;#039; /etc/csf/csf.conf&lt;br /&gt;
 sed -i &amp;#039;s/LT_EMAIL_ALERT = &amp;quot;1&amp;quot;/LT_EMAIL_ALERT = &amp;quot;0&amp;quot;/&amp;#039; /etc/csf/csf.conf&lt;br /&gt;
 sed -i &amp;#039;s/CT_EMAIL_ALERT = &amp;quot;1&amp;quot;/CT_EMAIL_ALERT = &amp;quot;0&amp;quot;/&amp;#039; /etc/csf/csf.conf&lt;br /&gt;
 sed -i &amp;#039;s/PS_EMAIL_ALERT = &amp;quot;1&amp;quot;/PS_EMAIL_ALERT = &amp;quot;0&amp;quot;/&amp;#039; /etc/csf/csf.conf&lt;br /&gt;
 &lt;br /&gt;
 ## Disable PT alerts: Only if you want to disable them!!&lt;br /&gt;
 &lt;br /&gt;
 sed -i &amp;#039;s/PT_USERPROC = &amp;quot;10&amp;quot;/PT_USERPROC = &amp;quot;0&amp;quot;/&amp;#039; /etc/csf/csf.conf&lt;br /&gt;
 sed -i &amp;#039;s/PT_USERMEM = &amp;quot;256&amp;quot;/PT_USERMEM = &amp;quot;0&amp;quot;/&amp;#039; /etc/csf/csf.conf&lt;br /&gt;
 sed -i &amp;#039;s/PT_USERTIME = &amp;quot;1800&amp;quot;/PT_USERTIME = &amp;quot;0&amp;quot;/&amp;#039; /etc/csf/csf.conf&lt;br /&gt;
 sed -i &amp;#039;s/PT_USERKILL_ALERT = &amp;quot;1&amp;quot;/PT_USERKILL_ALERT = &amp;quot;0&amp;quot;/&amp;#039; /etc/csf/csf.conf&lt;br /&gt;
 sed -i &amp;#039;s/PT_LOAD = &amp;quot;30&amp;quot;/PT_LOAD = &amp;quot;0&amp;quot;/&amp;#039; /etc/csf/csf.conf&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Rescan drives ==&lt;br /&gt;
&lt;br /&gt;
 echo &amp;quot;- - -&amp;quot; &amp;gt; /sys/class/scsi_host/host0/scan&lt;br /&gt;
&lt;br /&gt;
 echo 1 &amp;gt; /sys/class/scsi_device/2\:0\:0\:0/device/rescan&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Find PTR owner - reversal ==&lt;br /&gt;
&lt;br /&gt;
 dig 0.168.192.in-addr.arpa. NS&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Fix locales in Ubuntu ==&lt;br /&gt;
 locale-gen en_US.UTF-8&lt;br /&gt;
 dpkg-reconfigure locales&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Change permissions to all files and folders ==&lt;br /&gt;
 chown `stat -c %U .`.`stat -c %U .` * -R&lt;br /&gt;
&lt;br /&gt;
== Open last edited file ==&lt;br /&gt;
 less `ls -dx1tr /usr/local/cpanel/logs/cpbackup/*|tail -1`&lt;br /&gt;
&lt;br /&gt;
== Clear cache and swap ==&lt;br /&gt;
 echo 3 &amp;gt; /proc/sys/vm/drop_caches &amp;amp;&amp;amp; swapoff -a &amp;amp;&amp;amp; swapon -a&lt;br /&gt;
&lt;br /&gt;
== Disable core files in CPanel accounts ==&lt;br /&gt;
&lt;br /&gt;
Add this in /etc/sysctl.conf&lt;br /&gt;
 kernel.core_uses_pid = 0&lt;br /&gt;
 kernel.core_pattern = /dev/null&lt;br /&gt;
&lt;br /&gt;
And run:&lt;br /&gt;
 sysctl -p&lt;br /&gt;
&lt;br /&gt;
== Add HSTS support in CPANEL ==&lt;br /&gt;
 cp -p /var/cpanel/templates/apache2_4/ssl_vhost.default /var/cpanel/templates/apache2_4/ssl_vhost.local&lt;br /&gt;
 vi /var/cpanel/templates/apache2_4/ssl_vhost.local&lt;br /&gt;
&lt;br /&gt;
Edit:&lt;br /&gt;
 &amp;lt;VirtualHost[% FOREACH ipblock IN vhost.ips %] [% ipblock.ip %]:[% ipblock.port %][% END %]&amp;gt;&lt;br /&gt;
  # Enable HTTP Strict Transport Security&lt;br /&gt;
  Header always set Strict-Transport-Security &amp;quot;max-age=63072000; includeSubdomains;&amp;quot;&lt;br /&gt;
&lt;br /&gt;
 cp -p /var/cpanel/templates/apache2_4/main.default /var/cpanel/templates/apache2_4/main.local&lt;br /&gt;
 vi /var/cpanel/templates/apache2_4/main.local&lt;br /&gt;
&lt;br /&gt;
Edit:&lt;br /&gt;
 [% IF main.sslprotocol.item.sslprotocol.length %]SSLProtocol [% main.sslprotocol.item.sslprotocol %][% END %]&lt;br /&gt;
 SSLHonorCipherOrder on&lt;br /&gt;
&lt;br /&gt;
Run:&lt;br /&gt;
 /scripts/rebuildhttpdconf&lt;br /&gt;
 service httpd restart&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Install mod_pagespeed on WHM ==&lt;br /&gt;
&lt;br /&gt;
With EA3:&lt;br /&gt;
 /usr/local/cpanel/3rdparty/bin/git clone https://github.com/pagespeed/cpanel.git /tmp/pagespeed/&lt;br /&gt;
 cd /tmp/pagespeed/Easy&lt;br /&gt;
 tar -zcvf Speed.pm.tar.gz pagespeed&lt;br /&gt;
 mkdir -p /var/cpanel/easy/apache/custom_opt_mods/Cpanel/Easy&lt;br /&gt;
 mv Speed.pm Speed.pm.tar.gz -t /var/cpanel/easy/apache/custom_opt_mods/Cpanel/Easy/&lt;br /&gt;
 cd &amp;amp;&amp;amp; rm -rf /tmp/pagespeed&lt;br /&gt;
&lt;br /&gt;
With EA4:&lt;br /&gt;
&lt;br /&gt;
Create file /etc/rpm/macros.apache2 and add the following lines of code exactly as below&lt;br /&gt;
 %_httpd_mmn 20120211x8664&lt;br /&gt;
 %_httpd_apxs /usr/bin/apxs&lt;br /&gt;
 %_httpd_dir /etc/apache2&lt;br /&gt;
 %_httpd_bindir %{_httpd_dir}/bin&lt;br /&gt;
 %_httpd_modconfdir %{_httpd_dir}/conf.modules.d&lt;br /&gt;
 %_httpd_confdir %{_httpd_dir}/conf.d&lt;br /&gt;
 %_httpd_contentdir /usr/share/apache2&lt;br /&gt;
 %_httpd_moddir /usr/lib64/apache2/modules&lt;br /&gt;
&lt;br /&gt;
Next run the following commands in order, make sure you run each command on it’s own&lt;br /&gt;
 rm -rf /root/rpmbuild/RPMS/x86_64/&lt;br /&gt;
 wget https://github.com/pagespeed/cpanel/raw/master/EA4/ea-apache24-mod_pagespeed-latest-stable.src.rpm&lt;br /&gt;
 rpmbuild --rebuild ea-apache24-mod_pagespeed-latest-stable.src.rpm&lt;br /&gt;
 rpm -Uvh /root/rpmbuild/RPMS/x86_64/ea-apache24-mod_pagespeed*.rpm&lt;br /&gt;
 /etc/init.d/httpd restart&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Resize root partition without reboot ==&lt;br /&gt;
&lt;br /&gt;
Resize HD size in VC&lt;br /&gt;
Run: (replace the device if needed)&lt;br /&gt;
 echo 1 &amp;gt; /sys/class/scsi_device/2\:0\:0\:0/device/rescan&lt;br /&gt;
 run fdisk:&lt;br /&gt;
print the old partition and save the output&lt;br /&gt;
delete the root partition&lt;br /&gt;
create a new partition using the SAME start block and make sure that the end block is higher than previous one (enter, enter, enter…)&lt;br /&gt;
write changes (ignore error)&lt;br /&gt;
run:&lt;br /&gt;
 partx -u /dev/sda&lt;br /&gt;
 resize2fs -f /dev/sda3&lt;br /&gt;
Make sure everything is OK:&lt;br /&gt;
 df -h&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Delete files with a large file list - Argument list too long ==&lt;br /&gt;
 find . -name &amp;#039;*&amp;#039;|xargs rm&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Show all domains in NGINX configuration ==&lt;br /&gt;
&lt;br /&gt;
 grep -e &amp;quot;^\s*server_name&amp;quot; /etc/nginx/conf.d/*|sed -e &amp;#039;s/[\t ]*server_name//g;&amp;#039;|sed -e &amp;quot;s/ /\+/g&amp;quot;|sed -e &amp;#039;s/;//g&amp;#039;|while read line; do for i in $line; do echo -n &amp;quot;$i &amp;quot;|sed -e &amp;#039;s/://&amp;#039;  -e &amp;#039;s/\+/\n  |--/g&amp;#039;; done ;echo; done; echo&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Kill process that runs more than X time ==&lt;br /&gt;
&lt;br /&gt;
Kill cgi after 30 secs:&lt;br /&gt;
 for i in `ps -eo pid,etime,cmd|grep cgi|awk &amp;#039;$2 &amp;gt; &amp;quot;00:30&amp;quot; {print $1}&amp;#039;`; do kill $i; done&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Unblock Invalid packets in CSF ==&lt;br /&gt;
 # Drop out of order packets and packets in an INVALID state in iptables&lt;br /&gt;
 # connection tracking&lt;br /&gt;
 PACKET_FILTER = &amp;quot;0&amp;quot;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Who uses RAM ==&lt;br /&gt;
&lt;br /&gt;
 ps aux  | awk &amp;#039;{print $6/1024 &amp;quot; MB\t\t&amp;quot; $11}&amp;#039;  | sort -n&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Fix WHM/CPanel templates  ==&lt;br /&gt;
&lt;br /&gt;
 cp /usr/local/apache/conf/httpd.conf{,.cptech-`date +%Y%m%d`}&lt;br /&gt;
 mv /var/cpanel/templates/apache2_4/vhost.local /var/cpanel/templates/apache2_4/vhost.local.bak&lt;br /&gt;
 mv /var/cpanel/templates/apache2_4/ssl_vhost.local /var/cpanel/templates/apache2_4/ssl_vhost.local.bak&lt;br /&gt;
 /scripts/rebuildhttpdconf&lt;br /&gt;
 /scripts/restartsrv_httpd&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Fix NFS mount on boot - Centos 7 ==&lt;br /&gt;
&lt;br /&gt;
Append text to the end of /usr/lib/systemd/system/nfs-idmap.service&lt;br /&gt;
 [Install]&lt;br /&gt;
 WantedBy=multi-user.target&lt;br /&gt;
&lt;br /&gt;
Append text to the end of /usr/lib/systemd/system/nfs-lock.service&lt;br /&gt;
 [Install]&lt;br /&gt;
 WantedBy=nfs.target&lt;br /&gt;
&lt;br /&gt;
Enable related services&lt;br /&gt;
&lt;br /&gt;
 systemctl enable nfs-idmapd.service &lt;br /&gt;
 systemctl enable rpc-statd.service &lt;br /&gt;
 systemctl enable rpcbind.socket&lt;br /&gt;
&lt;br /&gt;
Reboot the server&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Login to WHM with link ==&lt;br /&gt;
&lt;br /&gt;
 whmapi1 create_user_session user=root service=whostmgrd locale=en&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Update date and time on Linux server ==&lt;br /&gt;
&lt;br /&gt;
 sudo ntpd -qg; sudo hwclock -w&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Clone Linux user ==&lt;br /&gt;
&lt;br /&gt;
 #!/bin/bash&lt;br /&gt;
 SRC=$1&lt;br /&gt;
 DEST=$2&lt;br /&gt;
 &lt;br /&gt;
 SRC_GROUPS=$(id -Gn ${SRC} | sed &amp;quot;s/${SRC} //g&amp;quot; | sed &amp;quot;s/ ${SRC}//g&amp;quot; | sed &amp;quot;s/ /,/g&amp;quot;)&lt;br /&gt;
 SRC_SHELL=$(awk -F : -v name=${SRC} &amp;#039;(name == $1) { print $7 }&amp;#039; /etc/passwd)&lt;br /&gt;
 &lt;br /&gt;
 useradd --groups ${SRC_GROUPS} --shell ${SRC_SHELL} --create-home ${DEST}&lt;br /&gt;
 passwd ${DEST}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Reload VM after UUID change ==&lt;br /&gt;
&lt;br /&gt;
 vim-cmd vmsvc/getallvms&lt;br /&gt;
 vim-cmd vmsvc/reload $vmID&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Size of suspended accounts in WHM ==&lt;br /&gt;
 for i in `whmapi1 listsuspended|grep user|cut -d: -f2`; do echo &amp;quot;Suspended account: $i - using&amp;quot; `whmapi1 listaccts search=$i searchtype=user|grep diskused|cut -d: -f2`; done&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Clear BOOT on Ubuntu when 100% ==&lt;br /&gt;
 dpkg --purge `dpkg --list|grep &amp;quot;linux-&amp;quot;|grep -v \`uname -r|sed &amp;#039;s/-generic//g&amp;#039;\`|cut -d&amp;quot; &amp;quot; -f3|grep &amp;quot;[0-9]-&amp;quot;|paste -sd &amp;quot; &amp;quot; -`&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== One-time login to wordpress ==&lt;br /&gt;
&lt;br /&gt;
Install wp cli:&lt;br /&gt;
&lt;br /&gt;
 curl -O https://raw.githubusercontent.com/wp-cli/builds/gh-pages/phar/wp-cli.phar&lt;br /&gt;
 chmod +x wp-cli.phar&lt;br /&gt;
 mv wp-cli.phar /usr/local/bin/wp&lt;br /&gt;
&lt;br /&gt;
Run from the WordPress installed location:&lt;br /&gt;
&lt;br /&gt;
 useradmin=`wp user list --role=administrator --format=csv --allow-root | cut -d&amp;#039;,&amp;#039; -f2 | head -2 | tail -1` &amp;amp;&amp;amp;  wp plugin install one-time-login --activate --allow-root &amp;amp;&amp;amp; wp user one-time-login $useradmin --allow-root &amp;amp;&amp;amp; user=$(stat -c &amp;quot;%U&amp;quot; `pwd`) &amp;amp;&amp;amp; chown $user.$user wp-content/ -R&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Cpanel resources consumption history per user ==&lt;br /&gt;
 &amp;lt;nowiki&amp;gt;OUT=$(/usr/local/cpanel/bin/dcpumonview | grep -v Top | sed -e &amp;#039;s#&amp;lt;[^&amp;gt;]*&amp;gt;# #g&amp;#039; | while read i ; do NF=`echo $i | awk {&amp;#039;print NF&amp;#039;}` ; if [[ &amp;quot;$NF&amp;quot; == &amp;quot;5&amp;quot; ]] ; then USER=`echo $i | awk {&amp;#039;print $1&amp;#039;}`; OWNER=`grep -e &amp;quot;^OWNER=&amp;quot; /var/cpanel/users/$USER | cut -d= -f2` ; echo &amp;quot;$OWNER $i&amp;quot;; fi ; done) ; (echo &amp;quot;USER CPU&amp;quot; ; echo &amp;quot;$OUT&amp;quot; | sort -nrk4 | awk &amp;#039;{printf &amp;quot;%s %s%\n&amp;quot;,$2,$4}&amp;#039; | head -5) | column -t ;echo;(echo -e &amp;quot;USER MEMORY&amp;quot; ; echo &amp;quot;$OUT&amp;quot; | sort -nrk5 | awk &amp;#039;{printf &amp;quot;%s %s%\n&amp;quot;,$2,$5}&amp;#039; | head -5) | column -t ;echo;(echo -e &amp;quot;USER MYSQL&amp;quot; ; echo &amp;quot;$OUT&amp;quot; | sort -nrk6 | awk &amp;#039;{printf &amp;quot;%s %s%\n&amp;quot;,$2,$6}&amp;#039; | head -5) | column -t ; &amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Engintron generate custom_rules for all domains on the server. ==&lt;br /&gt;
 ip=`hostname -i` &amp;amp;&amp;amp; for domain in `httpd -S |  grep www. | awk -F &amp;#039;www.&amp;#039; &amp;#039;{print $2}&amp;#039;`;do printf &amp;quot;if ( \$host ~ \&amp;quot;%s\&amp;quot;) {set \$PROXY_DOMAIN_OR_IP \&amp;quot;$ip\&amp;quot;;}\n&amp;quot; $domain ;done &amp;gt;&amp;gt; /etc/nginx/custom_rules &amp;amp;&amp;amp; service nginx reload&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Fix Installatron - error 500 or missing list/install ==&lt;br /&gt;
 /usr/local/installatron/repair -f --release --quick&lt;br /&gt;
[https://installatron.com/docs/admin/troubleshooting#missinginstalls Installatron FIX]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Find root of a site and CD to it ==&lt;br /&gt;
&lt;br /&gt;
Replace domain.com with desired domain&lt;br /&gt;
 cd `grep &amp;quot;domain.com&amp;quot; /etc/apache2/conf/httpd.conf -A7|grep Root|head -1|awk &amp;#039;{print $2}&amp;#039;`&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Generate CSR with OPENSSL ==&lt;br /&gt;
&lt;br /&gt;
Generate key:&lt;br /&gt;
 openssl genrsa -out private.key 2048&lt;br /&gt;
&lt;br /&gt;
Gemnerate CSR:&lt;br /&gt;
 openssl req -new -sha256 -key private.key -out mycsr.csr&lt;br /&gt;
&lt;br /&gt;
== Links ==&lt;br /&gt;
Installing Redis: [https://troubleshootguru.wordpress.com/2014/11/19/how-to-install-redis-on-a-centos-6-5-centos-7-0-server-2/] [https://www.fastcomet.com/community/question/wordpress-caching-with-redis-centos-cpanel/] [https://nixtree.com/blog/install-redis-daemon-and-redis-php-extention-on-centosrhelcpanel/]&lt;br /&gt;
&lt;br /&gt;
Windows images [http://torrent-win.net/windows_original/]&lt;br /&gt;
&lt;br /&gt;
Github: [https://github.com/romanost Github]&lt;br /&gt;
&lt;br /&gt;
Arista: [https://www.arista.com/assets/data/docs/Manuals/EOS-4.17.0F-Manual.pdf Manual] [https://www.arista.com/en/um-eos/eos-section-3-10-command-line-interface-commands CLI]&lt;br /&gt;
&lt;br /&gt;
VMware converter old version [http://soft.assenov.net/software/index.php?dir=VMWare/ Link]&lt;br /&gt;
&lt;br /&gt;
GEOip on EA4 [https://grepitout.com/install-mod_geoip-cpanel-easyapache-4/ link]&lt;/div&gt;</summary>
		<author><name>Meadmin</name></author>	</entry>

	<entry>
		<id>https://mywiki.romanost.co.il/index.php?title=Linux&amp;diff=55</id>
		<title>Linux</title>
		<link rel="alternate" type="text/html" href="https://mywiki.romanost.co.il/index.php?title=Linux&amp;diff=55"/>
				<updated>2018-09-03T09:07:50Z</updated>
		
		<summary type="html">&lt;p&gt;Meadmin: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&lt;br /&gt;
== Wordpress login attack check ==&lt;br /&gt;
&lt;br /&gt;
 &amp;#039;&amp;#039;&amp;#039;Crontab :&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
 0 */6 * * *  sh /root/wplogin.sh&lt;br /&gt;
 &lt;br /&gt;
 &amp;#039;&amp;#039;&amp;#039;Script :&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
 #!/bin/bash&lt;br /&gt;
 &lt;br /&gt;
 ###start editing&lt;br /&gt;
 thold=&amp;quot;100&amp;quot;&lt;br /&gt;
 btime=&amp;quot;359m&amp;quot;&lt;br /&gt;
 ###stop editing&lt;br /&gt;
 &lt;br /&gt;
 egrep &amp;#039;wp-login.php&amp;#039; /usr/local/apache/domlogs/* | grep -v ftp_log | awk -F : &amp;#039;{print $2}&amp;#039; | awk &amp;#039;{print $1}&amp;#039; | sort | uniq -c | sort -n | awk -v limit=&amp;quot;$thold&amp;quot; &amp;#039;$1 &amp;gt; limit{print $2}&amp;#039; &amp;gt; $$_ip_$$&lt;br /&gt;
 &lt;br /&gt;
 while IFS= read -r line&lt;br /&gt;
         do&lt;br /&gt;
                 /usr/sbin/csf -td &amp;quot;$line&amp;quot;  &amp;quot;$btime&amp;quot; &amp;quot;banned for wordpress attack&amp;quot;&lt;br /&gt;
         done &amp;lt; $$_ip_$$&lt;br /&gt;
 rm -f $$_ip_$$&lt;br /&gt;
&lt;br /&gt;
== Prevent OOM killer ==&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Edit file /etc/sysctl.conf&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
 &lt;br /&gt;
 vm.overcommit_memory = 2 &lt;br /&gt;
 vm.overcommit_ratio = 100&lt;br /&gt;
&lt;br /&gt;
In case of bad memory usage (php out of memory) use this settings:&lt;br /&gt;
&lt;br /&gt;
 vm.overcommit_memory = 0&lt;br /&gt;
 vm.overcommit_ratio = 80&lt;br /&gt;
&lt;br /&gt;
== Who is using SWAP ==&lt;br /&gt;
 grep VmSwap /proc/*/status 2&amp;gt;/dev/null | sort -nk2 | tail -n5&lt;br /&gt;
&lt;br /&gt;
Print with the process command:&lt;br /&gt;
 grep VmSwap /proc/*/status 2&amp;gt;/dev/null | sort -nk2 | tail -n5|awk -F&amp;#039;/&amp;#039; &amp;#039;{cmd=&amp;quot;cat /proc/&amp;quot; $3 &amp;quot;/cmdline&amp;quot;; cmd|getline var; close (cmd); printf $0 &amp;quot;\t&amp;quot;; print var}&amp;#039;  &lt;br /&gt;
&lt;br /&gt;
== Plesk on CentOS 12 bind fix ==&lt;br /&gt;
&lt;br /&gt;
The problem was nginx was attempting to bind to port 443 before the IP was initialized.&lt;br /&gt;
&lt;br /&gt;
To fix edit the /etx/sysctl.conf file and add &lt;br /&gt;
 net.ipv4.ip_nonlocal_bind = 1&lt;br /&gt;
&lt;br /&gt;
== WHM replica ==&lt;br /&gt;
&lt;br /&gt;
 rsync -avz 192.168.1.122:/home/ /home/ --exclude=&amp;quot;virtfs&amp;quot; --exclude=&amp;quot;\.cp*&amp;quot; --exclude=&amp;quot;cpeasyapache&amp;quot; &lt;br /&gt;
 rsync -avz 192.168.1.122:/usr/local/apache/conf/ /usr/local/apache/conf/&lt;br /&gt;
 rsync -avz 192.168.1.122:/var/named/ /var/named/&lt;br /&gt;
 rsync -avz 192.168.1.122:/usr/local/cpanel/ /usr/local/cpanel/&lt;br /&gt;
 rsync -avz 192.168.1.122:/var/cpanel/ /var/cpanel&lt;br /&gt;
&lt;br /&gt;
 chkconfig cpanel off&lt;br /&gt;
 chkconfig exim off&lt;br /&gt;
 chkconfig dovecot off&lt;br /&gt;
 chkconfig pure-ftpd off&lt;br /&gt;
 chkconfig named off&lt;br /&gt;
 chkconfig mysql off&lt;br /&gt;
 chkconfig csf off&lt;br /&gt;
 chkconfig iptables off&lt;br /&gt;
&lt;br /&gt;
 hostname: /etc/sysconfig/network&lt;br /&gt;
&lt;br /&gt;
 change shared ip - You can change it in /etc/wwwacct.conf infront of ADDR parameter.&lt;br /&gt;
 change ip - Usage: /usr/local/cpanel/bin/setsiteip [-u user | domain] ip   (/etc/trueuserowners)&lt;br /&gt;
 rebuild httpd conf&lt;br /&gt;
 restart apache&lt;br /&gt;
&lt;br /&gt;
== Apache memory usage ==&lt;br /&gt;
&lt;br /&gt;
 ps -ylC httpd | awk &amp;#039;{x += $8;y += 1} END {print &amp;quot;Apache Memory Usage (MB): &amp;quot;x/1024; print &amp;quot;Average Proccess Size (MB): &amp;quot;x/((y-1)*1024)}&amp;#039;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Wordpress pingback ==&lt;br /&gt;
&lt;br /&gt;
Nginx:&lt;br /&gt;
&lt;br /&gt;
 # WordPress Pingback Request Denial&lt;br /&gt;
 if ($http_user_agent ~* &amp;quot;WordPress&amp;quot;) {&lt;br /&gt;
   return 403;&lt;br /&gt;
 }&lt;br /&gt;
&lt;br /&gt;
Apache:&lt;br /&gt;
&lt;br /&gt;
 BrowserMatchNoCase WordPress wordpress_ping&lt;br /&gt;
 BrowserMatchNoCase Wordpress wordpress_ping&lt;br /&gt;
 Order Deny,Allow&lt;br /&gt;
 Deny from env=wordpress_ping&lt;br /&gt;
&lt;br /&gt;
== Find big files and folders ==&lt;br /&gt;
&lt;br /&gt;
 find / -mount -type f -print0 2&amp;gt;/dev/null | xargs -0 du 2&amp;gt;/dev/null | sort -n | tail -40 | cut -f2 | xargs -I{} du -sh 2&amp;gt;/dev/null {} | uniq; printf &amp;#039;+%.0s&amp;#039; {1..100}; echo; \&lt;br /&gt;
 find / -mount -type d -print0 2&amp;gt;/dev/null | xargs -0 du 2&amp;gt;/dev/null | sort -n | tail -40 | cut -f2 | xargs -I{} du -sh 2&amp;gt;/dev/null {} | uniq; printf &amp;#039;+%.0s&amp;#039; {1..100}; echo; \&lt;br /&gt;
 du -sh /var/cpanel/user_notifications &amp;amp;&amp;amp; du -sh /backup/cpbackup/*/dirs/_var_cpanel/user_notifications&lt;br /&gt;
&lt;br /&gt;
== Rebuild Sophos when disk full ==&lt;br /&gt;
&lt;br /&gt;
 /etc/init.d/postgresql92 rebuild&lt;br /&gt;
&lt;br /&gt;
On older versions:&lt;br /&gt;
 /var/mdw/scripts/smtp stop&lt;br /&gt;
 dropdb -U postgres smtp&lt;br /&gt;
 createdb -U postgres smtp&lt;br /&gt;
 /var/mdw/scripts/smtp start&lt;br /&gt;
&lt;br /&gt;
== Clear allowed networks on Sophos ==&lt;br /&gt;
&lt;br /&gt;
Login to the Sophos&lt;br /&gt;
 Type ‘cc’&lt;br /&gt;
 In cc, you’ll be in MAIN, if not, type ‘MAIN’&lt;br /&gt;
 Type ‘webadmin&amp;#039;&lt;br /&gt;
 Type ‘allowed_networks@&amp;#039;&lt;br /&gt;
 =[&amp;#039;REF_NetworkAny&amp;#039;]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Most accessed sites in the last minute ==&lt;br /&gt;
&lt;br /&gt;
 cat &amp;lt;&amp;lt;&amp;#039;SCRIPT&amp;#039; &amp;gt;&amp;gt;/root/sitesLoad.sh&lt;br /&gt;
 &lt;br /&gt;
 #!/bin/bash&lt;br /&gt;
 &amp;lt;nowiki&amp;gt;if [[ `netstat -ntalp | grep :80 | awk &amp;#039;$4 ~ /:80/ {print $0;exit}&amp;#039; | grep -q httpd; echo $?` -ne 0 ]]; then echo &amp;quot;Main web server is not Apache. Exiting...&amp;quot;; exit 1; fi&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
 &lt;br /&gt;
 log=/tmp/hostPop&lt;br /&gt;
 i=0&lt;br /&gt;
 find /usr/local/apache/domlogs/ -type f -mmin -1 ! -group root -exec ls -l {} \+ | awk &amp;#039;{print $4, $9}&amp;#039; | column -t&amp;gt;$log&lt;br /&gt;
 &lt;br /&gt;
 while read line; do&lt;br /&gt;
 ((++i))&lt;br /&gt;
        arr[$i]=$i&lt;br /&gt;
        arr[$i*1000]=$(printf &amp;quot;$line&amp;quot; | awk &amp;#039;{print $1}&amp;#039;)&lt;br /&gt;
        arr[$i*1001]=$(printf &amp;quot;$line&amp;quot; | awk &amp;#039;{print $2}&amp;#039;)&lt;br /&gt;
        arr[$i*1002]=$(wc -l `echo $line | awk &amp;#039;{print $NF}&amp;#039;` | cut -d&amp;#039; &amp;#039; -f 1)&lt;br /&gt;
 done &amp;lt; &amp;lt;(cat $log)&lt;br /&gt;
 &lt;br /&gt;
 echo &amp;quot;Analyzing apache logs in realtime for 1 minute...&amp;quot;; sleep 60&lt;br /&gt;
 &lt;br /&gt;
 for (( var=1 ; var&amp;lt;=$i ; var++ ))&lt;br /&gt;
 do&lt;br /&gt;
        printf &amp;quot;${arr[$var*1000]} ${arr[$var*1001]} &amp;quot;&lt;br /&gt;
        echo $((`wc -l $(echo ${arr[$var*1001]}) | cut -d&amp;#039; &amp;#039; -f 1` - ${arr[$var*1002]}));&lt;br /&gt;
 done | sed -e &amp;#039;s/\/usr\/local\/apache\/domlogs\///g&amp;#039; | sort -nrk 3 | column -t&lt;br /&gt;
 &lt;br /&gt;
 SCRIPT&lt;br /&gt;
 chmod 700 /root/sitesLoad.sh &amp;amp;&amp;amp; /root/sitesLoad.sh&lt;br /&gt;
&lt;br /&gt;
== PHP.INI upload big files ==&lt;br /&gt;
&lt;br /&gt;
 ini_set(&amp;#039;upload_max_filesize&amp;#039;, &amp;#039;10M&amp;#039;);&lt;br /&gt;
 ini_set(&amp;#039;post_max_size&amp;#039;, &amp;#039;10M&amp;#039;);&lt;br /&gt;
 ini_set(&amp;#039;max_input_time&amp;#039;, 300);&lt;br /&gt;
 ini_set(&amp;#039;max_execution_time&amp;#039;, 300);&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Change permissions (chmod) to folders and files ==&lt;br /&gt;
&lt;br /&gt;
 find . -type d -exec chmod 755 {} +                  &lt;br /&gt;
 find . -type f -exec chmod 644 {} +                 &lt;br /&gt;
&lt;br /&gt;
== Disable IPv6 ==&lt;br /&gt;
&lt;br /&gt;
For current session:&lt;br /&gt;
 echo 1 &amp;gt; /proc/sys/net/ipv6/conf/&amp;lt;interface-name&amp;gt;/disable_ipv6&lt;br /&gt;
 echo 1 &amp;gt; /proc/sys/net/ipv6/conf/eth0/disable_ipv6&lt;br /&gt;
&lt;br /&gt;
Permanent:&lt;br /&gt;
 vi /etc/sysctl.conf&lt;br /&gt;
 net.ipv6.conf.all.disable_ipv6 = 1&lt;br /&gt;
 sudo sysctl -p /etc/sysctl.conf&lt;br /&gt;
&lt;br /&gt;
== Virtual box boot from USB ==&lt;br /&gt;
 VBoxManage internalcommands createrawvmdk -filename C:\usb.vmdk -rawdisk \\.\PhysicalDrive#&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== CSF GUI on ISPCONFIG 3 ==&lt;br /&gt;
Install old CSF (before 8.13)&lt;br /&gt;
&lt;br /&gt;
Copy the ISPCONFIG folder to /etc/csf/ and enable CSF in ISPCONFIG&lt;br /&gt;
&lt;br /&gt;
Backup csfui* files&lt;br /&gt;
&lt;br /&gt;
Upgrade CSF&lt;br /&gt;
&lt;br /&gt;
Copy backuped csfui* files back&lt;br /&gt;
&lt;br /&gt;
Run the following commands:&lt;br /&gt;
 sed -i &amp;#039;s/checkip/ConfigServer::CheckIP::checkip/g&amp;#039; /usr/local/csf/bin/csfui.pl&lt;br /&gt;
 sed -i &amp;#039;s/sanity(/ConfigServer::Sanity::sanity(/g&amp;#039; /usr/local/csf/bin/csfui.pl&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Max connections on Linux ==&lt;br /&gt;
&lt;br /&gt;
Add to /etc/sysctl.conf:&lt;br /&gt;
&lt;br /&gt;
 fs.file-max = 70000&lt;br /&gt;
 net.ipv4.tcp_tw_recycle=0&lt;br /&gt;
 net.ipv4.tcp_fin_timeout = 10&lt;br /&gt;
 net.ipv4.ip_local_port_range = 15000 61000&lt;br /&gt;
 net.core.somaxconn = 1024&lt;br /&gt;
 net.core.netdev_max_backlog = 2000&lt;br /&gt;
&lt;br /&gt;
== CSF configuration ==&lt;br /&gt;
&lt;br /&gt;
 ## Automated configuration:&lt;br /&gt;
 &lt;br /&gt;
 sed -i &amp;#039;s/TESTING = &amp;quot;1&amp;quot;/TESTING = &amp;quot;0&amp;quot;/&amp;#039; /etc/csf/csf.conf&lt;br /&gt;
 sed -i &amp;#039;s/RESTRICT_SYSLOG = &amp;quot;0&amp;quot;/RESTRICT_SYSLOG = &amp;quot;3&amp;quot;/&amp;#039; /etc/csf/csf.conf&lt;br /&gt;
 sed -i &amp;#039;s/IPV6 = &amp;quot;1&amp;quot;/IPV6 = &amp;quot;0&amp;quot;/&amp;#039; /etc/csf/csf.conf&lt;br /&gt;
 sed -i &amp;#039;s/IGNORE_ALLOW = &amp;quot;0&amp;quot;/IGNORE_ALLOW = &amp;quot;1&amp;quot;/&amp;#039; /etc/csf/csf.conf&lt;br /&gt;
 sed -i &amp;#039;s/CONNLIMIT = &amp;quot;&amp;quot;/CONNLIMIT = &amp;quot;22;5,80;70&amp;quot;/&amp;#039; /etc/csf/csf.conf&lt;br /&gt;
 sed -i &amp;#039;s/PORTFLOOD = &amp;quot;&amp;quot;/PORTFLOOD = &amp;quot;22;tcp;5;300,80;tcp;100;1,443;tcp;100;5&amp;quot;/&amp;#039; /etc/csf/csf.conf&lt;br /&gt;
 sed -i &amp;#039;s/CT_LIMIT = &amp;quot;0&amp;quot;/CT_LIMIT = &amp;quot;300&amp;quot;/&amp;#039; /etc/csf/csf.conf&lt;br /&gt;
  &lt;br /&gt;
 ## Disable LFD alerts: Only if you want to disable them!!&lt;br /&gt;
 &lt;br /&gt;
 sed -i &amp;#039;s/LF_EMAIL_ALERT = &amp;quot;1&amp;quot;/LF_EMAIL_ALERT = &amp;quot;0&amp;quot;/&amp;#039; /etc/csf/csf.conf&lt;br /&gt;
 sed -i &amp;#039;s/LF_SSH_EMAIL_ALERT = &amp;quot;1&amp;quot;/LF_SSH_EMAIL_ALERT = &amp;quot;0&amp;quot;/&amp;#039; /etc/csf/csf.conf&lt;br /&gt;
 sed -i &amp;#039;s/LF_SU_EMAIL_ALERT = &amp;quot;1&amp;quot;/LF_SU_EMAIL_ALERT = &amp;quot;0&amp;quot;/&amp;#039; /etc/csf/csf.conf&lt;br /&gt;
 sed -i &amp;#039;s/LF_WEBMIN_EMAIL_ALERT = &amp;quot;1&amp;quot;/LF_WEBMIN_EMAIL_ALERT = &amp;quot;0&amp;quot;/&amp;#039; /etc/csf/csf.conf&lt;br /&gt;
 sed -i &amp;#039;s/LF_CONSOLE_EMAIL_ALERT = &amp;quot;1&amp;quot;/LF_CONSOLE_EMAIL_ALERT = &amp;quot;0&amp;quot;/&amp;#039; /etc/csf/csf.conf&lt;br /&gt;
 sed -i &amp;#039;s/LT_EMAIL_ALERT = &amp;quot;1&amp;quot;/LT_EMAIL_ALERT = &amp;quot;0&amp;quot;/&amp;#039; /etc/csf/csf.conf&lt;br /&gt;
 sed -i &amp;#039;s/CT_EMAIL_ALERT = &amp;quot;1&amp;quot;/CT_EMAIL_ALERT = &amp;quot;0&amp;quot;/&amp;#039; /etc/csf/csf.conf&lt;br /&gt;
 sed -i &amp;#039;s/PS_EMAIL_ALERT = &amp;quot;1&amp;quot;/PS_EMAIL_ALERT = &amp;quot;0&amp;quot;/&amp;#039; /etc/csf/csf.conf&lt;br /&gt;
 &lt;br /&gt;
 ## Disable PT alerts: Only if you want to disable them!!&lt;br /&gt;
 &lt;br /&gt;
 sed -i &amp;#039;s/PT_USERPROC = &amp;quot;10&amp;quot;/PT_USERPROC = &amp;quot;0&amp;quot;/&amp;#039; /etc/csf/csf.conf&lt;br /&gt;
 sed -i &amp;#039;s/PT_USERMEM = &amp;quot;256&amp;quot;/PT_USERMEM = &amp;quot;0&amp;quot;/&amp;#039; /etc/csf/csf.conf&lt;br /&gt;
 sed -i &amp;#039;s/PT_USERTIME = &amp;quot;1800&amp;quot;/PT_USERTIME = &amp;quot;0&amp;quot;/&amp;#039; /etc/csf/csf.conf&lt;br /&gt;
 sed -i &amp;#039;s/PT_USERKILL_ALERT = &amp;quot;1&amp;quot;/PT_USERKILL_ALERT = &amp;quot;0&amp;quot;/&amp;#039; /etc/csf/csf.conf&lt;br /&gt;
 sed -i &amp;#039;s/PT_LOAD = &amp;quot;30&amp;quot;/PT_LOAD = &amp;quot;0&amp;quot;/&amp;#039; /etc/csf/csf.conf&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Rescan drives ==&lt;br /&gt;
&lt;br /&gt;
 echo &amp;quot;- - -&amp;quot; &amp;gt; /sys/class/scsi_host/host0/scan&lt;br /&gt;
&lt;br /&gt;
 echo 1 &amp;gt; /sys/class/scsi_device/2\:0\:0\:0/device/rescan&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Find PTR owner - reversal ==&lt;br /&gt;
&lt;br /&gt;
 dig 0.168.192.in-addr.arpa. NS&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Fix locales in Ubuntu ==&lt;br /&gt;
 locale-gen en_US.UTF-8&lt;br /&gt;
 dpkg-reconfigure locales&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Change permissions to all files and folders ==&lt;br /&gt;
 chown `stat -c %U .`.`stat -c %U .` * -R&lt;br /&gt;
&lt;br /&gt;
== Open last edited file ==&lt;br /&gt;
 less `ls -dx1tr /usr/local/cpanel/logs/cpbackup/*|tail -1`&lt;br /&gt;
&lt;br /&gt;
== Clear cache and swap ==&lt;br /&gt;
 echo 3 &amp;gt; /proc/sys/vm/drop_caches &amp;amp;&amp;amp; swapoff -a &amp;amp;&amp;amp; swapon -a&lt;br /&gt;
&lt;br /&gt;
== Disable core files in CPanel accounts ==&lt;br /&gt;
&lt;br /&gt;
Add this in /etc/sysctl.conf&lt;br /&gt;
 kernel.core_uses_pid = 0&lt;br /&gt;
 kernel.core_pattern = /dev/null&lt;br /&gt;
&lt;br /&gt;
And run:&lt;br /&gt;
 sysctl -p&lt;br /&gt;
&lt;br /&gt;
== Add HSTS support in CPANEL ==&lt;br /&gt;
 cp -p /var/cpanel/templates/apache2_4/ssl_vhost.default /var/cpanel/templates/apache2_4/ssl_vhost.local&lt;br /&gt;
 vi /var/cpanel/templates/apache2_4/ssl_vhost.local&lt;br /&gt;
&lt;br /&gt;
Edit:&lt;br /&gt;
 &amp;lt;VirtualHost[% FOREACH ipblock IN vhost.ips %] [% ipblock.ip %]:[% ipblock.port %][% END %]&amp;gt;&lt;br /&gt;
  # Enable HTTP Strict Transport Security&lt;br /&gt;
  Header always set Strict-Transport-Security &amp;quot;max-age=63072000; includeSubdomains;&amp;quot;&lt;br /&gt;
&lt;br /&gt;
 cp -p /var/cpanel/templates/apache2_4/main.default /var/cpanel/templates/apache2_4/main.local&lt;br /&gt;
 vi /var/cpanel/templates/apache2_4/main.local&lt;br /&gt;
&lt;br /&gt;
Edit:&lt;br /&gt;
 [% IF main.sslprotocol.item.sslprotocol.length %]SSLProtocol [% main.sslprotocol.item.sslprotocol %][% END %]&lt;br /&gt;
 SSLHonorCipherOrder on&lt;br /&gt;
&lt;br /&gt;
Run:&lt;br /&gt;
 /scripts/rebuildhttpdconf&lt;br /&gt;
 service httpd restart&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Install mod_pagespeed on WHM ==&lt;br /&gt;
&lt;br /&gt;
With EA3:&lt;br /&gt;
 /usr/local/cpanel/3rdparty/bin/git clone https://github.com/pagespeed/cpanel.git /tmp/pagespeed/&lt;br /&gt;
 cd /tmp/pagespeed/Easy&lt;br /&gt;
 tar -zcvf Speed.pm.tar.gz pagespeed&lt;br /&gt;
 mkdir -p /var/cpanel/easy/apache/custom_opt_mods/Cpanel/Easy&lt;br /&gt;
 mv Speed.pm Speed.pm.tar.gz -t /var/cpanel/easy/apache/custom_opt_mods/Cpanel/Easy/&lt;br /&gt;
 cd &amp;amp;&amp;amp; rm -rf /tmp/pagespeed&lt;br /&gt;
&lt;br /&gt;
With EA4:&lt;br /&gt;
&lt;br /&gt;
Create file /etc/rpm/macros.apache2 and add the following lines of code exactly as below&lt;br /&gt;
 %_httpd_mmn 20120211x8664&lt;br /&gt;
 %_httpd_apxs /usr/bin/apxs&lt;br /&gt;
 %_httpd_dir /etc/apache2&lt;br /&gt;
 %_httpd_bindir %{_httpd_dir}/bin&lt;br /&gt;
 %_httpd_modconfdir %{_httpd_dir}/conf.modules.d&lt;br /&gt;
 %_httpd_confdir %{_httpd_dir}/conf.d&lt;br /&gt;
 %_httpd_contentdir /usr/share/apache2&lt;br /&gt;
 %_httpd_moddir /usr/lib64/apache2/modules&lt;br /&gt;
&lt;br /&gt;
Next run the following commands in order, make sure you run each command on it’s own&lt;br /&gt;
 rm -rf /root/rpmbuild/RPMS/x86_64/&lt;br /&gt;
 wget https://github.com/pagespeed/cpanel/raw/master/EA4/ea-apache24-mod_pagespeed-latest-stable.src.rpm&lt;br /&gt;
 rpmbuild --rebuild ea-apache24-mod_pagespeed-latest-stable.src.rpm&lt;br /&gt;
 rpm -Uvh /root/rpmbuild/RPMS/x86_64/ea-apache24-mod_pagespeed*.rpm&lt;br /&gt;
 /etc/init.d/httpd restart&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Resize root partition without reboot ==&lt;br /&gt;
&lt;br /&gt;
Resize HD size in VC&lt;br /&gt;
Run: (replace the device if needed)&lt;br /&gt;
 echo 1 &amp;gt; /sys/class/scsi_device/2\:0\:0\:0/device/rescan&lt;br /&gt;
 run fdisk:&lt;br /&gt;
print the old partition and save the output&lt;br /&gt;
delete the root partition&lt;br /&gt;
create a new partition using the SAME start block and make sure that the end block is higher than previous one (enter, enter, enter…)&lt;br /&gt;
write changes (ignore error)&lt;br /&gt;
run:&lt;br /&gt;
 partx -u /dev/sda&lt;br /&gt;
 resize2fs -f /dev/sda3&lt;br /&gt;
Make sure everything is OK:&lt;br /&gt;
 df -h&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Delete files with a large file list - Argument list too long ==&lt;br /&gt;
 find . -name &amp;#039;*&amp;#039;|xargs rm&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Show all domains in NGINX configuration ==&lt;br /&gt;
&lt;br /&gt;
 grep -e &amp;quot;^\s*server_name&amp;quot; /etc/nginx/conf.d/*|sed -e &amp;#039;s/[\t ]*server_name//g;&amp;#039;|sed -e &amp;quot;s/ /\+/g&amp;quot;|sed -e &amp;#039;s/;//g&amp;#039;|while read line; do for i in $line; do echo -n &amp;quot;$i &amp;quot;|sed -e &amp;#039;s/://&amp;#039;  -e &amp;#039;s/\+/\n  |--/g&amp;#039;; done ;echo; done; echo&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Kill process that runs more than X time ==&lt;br /&gt;
&lt;br /&gt;
Kill cgi after 30 secs:&lt;br /&gt;
 for i in `ps -eo pid,etime,cmd|grep cgi|awk &amp;#039;$2 &amp;gt; &amp;quot;00:30&amp;quot; {print $1}&amp;#039;`; do kill $i; done&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Unblock Invalid packets in CSF ==&lt;br /&gt;
 # Drop out of order packets and packets in an INVALID state in iptables&lt;br /&gt;
 # connection tracking&lt;br /&gt;
 PACKET_FILTER = &amp;quot;0&amp;quot;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Who uses RAM ==&lt;br /&gt;
&lt;br /&gt;
 ps aux  | awk &amp;#039;{print $6/1024 &amp;quot; MB\t\t&amp;quot; $11}&amp;#039;  | sort -n&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Fix WHM/CPanel templates  ==&lt;br /&gt;
&lt;br /&gt;
 cp /usr/local/apache/conf/httpd.conf{,.cptech-`date +%Y%m%d`}&lt;br /&gt;
 mv /var/cpanel/templates/apache2_4/vhost.local /var/cpanel/templates/apache2_4/vhost.local.bak&lt;br /&gt;
 mv /var/cpanel/templates/apache2_4/ssl_vhost.local /var/cpanel/templates/apache2_4/ssl_vhost.local.bak&lt;br /&gt;
 /scripts/rebuildhttpdconf&lt;br /&gt;
 /scripts/restartsrv_httpd&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Fix NFS mount on boot - Centos 7 ==&lt;br /&gt;
&lt;br /&gt;
Append text to the end of /usr/lib/systemd/system/nfs-idmap.service&lt;br /&gt;
 [Install]&lt;br /&gt;
 WantedBy=multi-user.target&lt;br /&gt;
&lt;br /&gt;
Append text to the end of /usr/lib/systemd/system/nfs-lock.service&lt;br /&gt;
 [Install]&lt;br /&gt;
 WantedBy=nfs.target&lt;br /&gt;
&lt;br /&gt;
Enable related services&lt;br /&gt;
&lt;br /&gt;
 systemctl enable nfs-idmapd.service &lt;br /&gt;
 systemctl enable rpc-statd.service &lt;br /&gt;
 systemctl enable rpcbind.socket&lt;br /&gt;
&lt;br /&gt;
Reboot the server&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Login to WHM with link ==&lt;br /&gt;
&lt;br /&gt;
 whmapi1 create_user_session user=root service=whostmgrd locale=en&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Update date and time on Linux server ==&lt;br /&gt;
&lt;br /&gt;
 sudo ntpd -qg; sudo hwclock -w&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Clone Linux user ==&lt;br /&gt;
&lt;br /&gt;
 #!/bin/bash&lt;br /&gt;
 SRC=$1&lt;br /&gt;
 DEST=$2&lt;br /&gt;
 &lt;br /&gt;
 SRC_GROUPS=$(id -Gn ${SRC} | sed &amp;quot;s/${SRC} //g&amp;quot; | sed &amp;quot;s/ ${SRC}//g&amp;quot; | sed &amp;quot;s/ /,/g&amp;quot;)&lt;br /&gt;
 SRC_SHELL=$(awk -F : -v name=${SRC} &amp;#039;(name == $1) { print $7 }&amp;#039; /etc/passwd)&lt;br /&gt;
 &lt;br /&gt;
 useradd --groups ${SRC_GROUPS} --shell ${SRC_SHELL} --create-home ${DEST}&lt;br /&gt;
 passwd ${DEST}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Reload VM after UUID change ==&lt;br /&gt;
&lt;br /&gt;
 vim-cmd vmsvc/getallvms&lt;br /&gt;
 vim-cmd vmsvc/reload $vmID&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Size of suspended accounts in WHM ==&lt;br /&gt;
 for i in `whmapi1 listsuspended|grep user|cut -d: -f2`; do echo &amp;quot;Suspended account: $i - using&amp;quot; `whmapi1 listaccts search=$i searchtype=user|grep diskused|cut -d: -f2`; done&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Clear BOOT on Ubuntu when 100% ==&lt;br /&gt;
 dpkg --purge `dpkg --list|grep &amp;quot;linux-&amp;quot;|grep -v \`uname -r|sed &amp;#039;s/-generic//g&amp;#039;\`|cut -d&amp;quot; &amp;quot; -f3|grep &amp;quot;[0-9]-&amp;quot;|paste -sd &amp;quot; &amp;quot; -`&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== One-time login to wordpress ==&lt;br /&gt;
&lt;br /&gt;
Install wp cli:&lt;br /&gt;
&lt;br /&gt;
 curl -O https://raw.githubusercontent.com/wp-cli/builds/gh-pages/phar/wp-cli.phar&lt;br /&gt;
 chmod +x wp-cli.phar&lt;br /&gt;
 mv wp-cli.phar /usr/local/bin/wp&lt;br /&gt;
&lt;br /&gt;
Run from the WordPress installed location:&lt;br /&gt;
&lt;br /&gt;
 useradmin=`wp user list --role=administrator --format=csv --allow-root | cut -d&amp;#039;,&amp;#039; -f2 | head -2 | tail -1` &amp;amp;&amp;amp;  wp plugin install one-time-login --activate --allow-root &amp;amp;&amp;amp; wp user one-time-login $useradmin --allow-root &amp;amp;&amp;amp; user=$(stat -c &amp;quot;%U&amp;quot; `pwd`) &amp;amp;&amp;amp; chown $user.$user wp-content/ -R&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Cpanel resources consumption history per user ==&lt;br /&gt;
 &amp;lt;nowiki&amp;gt;OUT=$(/usr/local/cpanel/bin/dcpumonview | grep -v Top | sed -e &amp;#039;s#&amp;lt;[^&amp;gt;]*&amp;gt;# #g&amp;#039; | while read i ; do NF=`echo $i | awk {&amp;#039;print NF&amp;#039;}` ; if [[ &amp;quot;$NF&amp;quot; == &amp;quot;5&amp;quot; ]] ; then USER=`echo $i | awk {&amp;#039;print $1&amp;#039;}`; OWNER=`grep -e &amp;quot;^OWNER=&amp;quot; /var/cpanel/users/$USER | cut -d= -f2` ; echo &amp;quot;$OWNER $i&amp;quot;; fi ; done) ; (echo &amp;quot;USER CPU&amp;quot; ; echo &amp;quot;$OUT&amp;quot; | sort -nrk4 | awk &amp;#039;{printf &amp;quot;%s %s%\n&amp;quot;,$2,$4}&amp;#039; | head -5) | column -t ;echo;(echo -e &amp;quot;USER MEMORY&amp;quot; ; echo &amp;quot;$OUT&amp;quot; | sort -nrk5 | awk &amp;#039;{printf &amp;quot;%s %s%\n&amp;quot;,$2,$5}&amp;#039; | head -5) | column -t ;echo;(echo -e &amp;quot;USER MYSQL&amp;quot; ; echo &amp;quot;$OUT&amp;quot; | sort -nrk6 | awk &amp;#039;{printf &amp;quot;%s %s%\n&amp;quot;,$2,$6}&amp;#039; | head -5) | column -t ; &amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Engintron generate custom_rules for all domains on the server. ==&lt;br /&gt;
 ip=`hostname -i` &amp;amp;&amp;amp; for domain in `httpd -S |  grep www. | awk -F &amp;#039;www.&amp;#039; &amp;#039;{print $2}&amp;#039;`;do printf &amp;quot;if ( \$host ~ \&amp;quot;%s\&amp;quot;) {set \$PROXY_DOMAIN_OR_IP \&amp;quot;$ip\&amp;quot;;}\n&amp;quot; $domain ;done &amp;gt;&amp;gt; /etc/nginx/custom_rules &amp;amp;&amp;amp; service nginx reload&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Fix Installatron - error 500 or missing list/install ==&lt;br /&gt;
 /usr/local/installatron/repair -f --release --quick&lt;br /&gt;
[https://installatron.com/docs/admin/troubleshooting#missinginstalls Installatron FIX]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Find root of a site and CD to it ==&lt;br /&gt;
&lt;br /&gt;
Replace domain.com with desired domain&lt;br /&gt;
 cd `grep &amp;quot;domain.com&amp;quot; /etc/apache2/conf/httpd.conf -A7|grep Root|head -1|awk &amp;#039;{print $2}&amp;#039;`&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Generate CSR with OPENSSL ==&lt;br /&gt;
&lt;br /&gt;
Generate key:&lt;br /&gt;
 openssl genrsa -out private.key 2048&lt;br /&gt;
&lt;br /&gt;
Gemnerate CSR:&lt;br /&gt;
 openssl req -new -sha256 -key private.key -out mycsr.csr&lt;br /&gt;
&lt;br /&gt;
== Links ==&lt;br /&gt;
Installing Redis: [https://troubleshootguru.wordpress.com/2014/11/19/how-to-install-redis-on-a-centos-6-5-centos-7-0-server-2/] [https://www.fastcomet.com/community/question/wordpress-caching-with-redis-centos-cpanel/] [https://nixtree.com/blog/install-redis-daemon-and-redis-php-extention-on-centosrhelcpanel/]&lt;br /&gt;
&lt;br /&gt;
Windows images [http://torrent-win.net/windows_original/]&lt;br /&gt;
&lt;br /&gt;
Github: [https://github.com/romanost Github]&lt;br /&gt;
&lt;br /&gt;
Arista: [https://www.arista.com/assets/data/docs/Manuals/EOS-4.17.0F-Manual.pdf Manual] [https://www.arista.com/en/um-eos/eos-section-3-10-command-line-interface-commands CLI]&lt;br /&gt;
&lt;br /&gt;
VMware converter old version [http://soft.assenov.net/software/index.php?dir=VMWare/ Link]&lt;/div&gt;</summary>
		<author><name>Meadmin</name></author>	</entry>

	<entry>
		<id>https://mywiki.romanost.co.il/index.php?title=Scripts&amp;diff=54</id>
		<title>Scripts</title>
		<link rel="alternate" type="text/html" href="https://mywiki.romanost.co.il/index.php?title=Scripts&amp;diff=54"/>
				<updated>2018-06-13T12:23:49Z</updated>
		
		<summary type="html">&lt;p&gt;Meadmin: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&lt;br /&gt;
== Flying replication ==&lt;br /&gt;
&lt;br /&gt;
 rsync -avz 192.168.1.122:/usr/local/apache/conf/ /usr/local/apache/conf/ --delete&lt;br /&gt;
 rsync -avz 192.168.1.122:/var/named/ /var/named/ --delete&lt;br /&gt;
 rsync -avz 192.168.1.122:/usr/local/cpanel/ /usr/local/cpanel/ --delete&lt;br /&gt;
 rsync -avz 192.168.1.122:/var/cpanel/ /var/cpanel --delete&lt;br /&gt;
 &lt;br /&gt;
 for x in `cat /etc/trueuserowners|grep -v &amp;quot;#&amp;quot;|cut -d: -f1`;do /usr/local/cpanel/bin/setsiteip -u $x `hostname -i` ;done;  &lt;br /&gt;
 &lt;br /&gt;
 /scripts/rebuildhttpdconf&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== WHM replication to clean server ==&lt;br /&gt;
&lt;br /&gt;
 #!/bin/bash&lt;br /&gt;
 rsync -avz 192.168.1.21:/etc/apache2/conf/ /etc/httpd/conf/&lt;br /&gt;
 rsync -avz 192.168.1.21:/var/cpanel/ssl/installed/ /etc/ssl/certs/&lt;br /&gt;
 rsync -avz 192.168.1.21:/etc/apache2/conf.d/includes/ /etc/httpd/conf.d/includes/&lt;br /&gt;
 rsync -avz 192.168.1.21:/var/cpanel/ssl/cpanel/ /etc/ssl/certs/cpanel/&lt;br /&gt;
 sed -i &amp;quot;s/192.168.1.21/`hostname -i`/g&amp;quot; /etc/httpd/conf/httpd.conf&lt;br /&gt;
 sed -i &amp;quot;s/\/var\/cpanel\/ssl\/installed\//\/etc\/ssl\/certs\//g&amp;quot; /etc/httpd/conf/httpd.conf&lt;br /&gt;
 sed -i &amp;quot;s/\/etc\/apache2\//\/etc\/httpd\//g&amp;quot; /etc/httpd/conf/httpd.conf&lt;br /&gt;
 sed -i &amp;quot;s/RewriteMap LeechProtect/\#RewriteMap LeechProtect/g&amp;quot; /etc/httpd/conf/httpd.conf&lt;br /&gt;
 sed -i &amp;quot;s/Mutex file:\/run\/apache2/\#Mutex file:\/run\/apache2/g&amp;quot; /etc/httpd/conf/httpd.conf&lt;br /&gt;
 sed -i &amp;quot;s/apache2/httpd/g&amp;quot; /etc/httpd/conf/httpd.conf&lt;br /&gt;
 sed -i &amp;quot;s/\/var\/cpanel\/ssl\/cpanel\//\/etc\/ssl\/certs\/cpanel\//g&amp;quot; /etc/httpd/conf/httpd.conf&lt;br /&gt;
 sed -i &amp;quot;s/Listen \[\:\:\]\:80/\#Listen \[\:\:\]\:80/g&amp;quot; /etc/httpd/conf/httpd.conf&lt;br /&gt;
 &lt;br /&gt;
 rsync -avz 192.168.1.21:/opt/cpanel/ea-php55/root/etc/php.ini /etc/&lt;br /&gt;
 rsync -avz 192.168.1.21:/etc/passwd /tmp/passwd&lt;br /&gt;
 rsync -avz 192.168.1.21:/etc/group /tmp/group&lt;br /&gt;
 &lt;br /&gt;
 var1=`cat /etc/passwd |awk -F &amp;#039;:&amp;#039; &amp;#039;$3 &amp;gt; 1000 &amp;amp;&amp;amp; $3 &amp;lt; 2000 {print $0}&amp;#039;`&lt;br /&gt;
 var2=`cat /tmp/passwd |awk -F &amp;#039;:&amp;#039; &amp;#039;$3 &amp;gt; 1000 &amp;amp;&amp;amp; $3 &amp;lt; 2000 {print $0}&amp;#039;`&lt;br /&gt;
 &lt;br /&gt;
 c1=`cat /etc/passwd |awk -F &amp;#039;:&amp;#039; &amp;#039;$3 &amp;gt; 1000 &amp;amp;&amp;amp; $3 &amp;lt; 2000 {print $0}&amp;#039;|wc -l`&lt;br /&gt;
 c2=`cat /tmp/passwd |awk -F &amp;#039;:&amp;#039; &amp;#039;$3 &amp;gt; 1000 &amp;amp;&amp;amp; $3 &amp;lt; 2000 {print $0}&amp;#039;|wc -l`&lt;br /&gt;
 &lt;br /&gt;
 if [ $c2 -gt $c1 ]; then&lt;br /&gt;
        newone=`comm --nocheck-order -13 &amp;lt;(echo $var1) &amp;lt;(echo $var2)`&lt;br /&gt;
        echo $newone &amp;gt;&amp;gt; /etc/passwd&lt;br /&gt;
 fi&lt;br /&gt;
 &lt;br /&gt;
 var1=`cat /etc/group |awk -F &amp;#039;:&amp;#039; &amp;#039;$3 &amp;gt; 1000 &amp;amp;&amp;amp; $3 &amp;lt; 2000 {print $0}&amp;#039;`&lt;br /&gt;
 var2=`cat /tmp/group |awk -F &amp;#039;:&amp;#039; &amp;#039;$3 &amp;gt; 1000 &amp;amp;&amp;amp; $3 &amp;lt; 2000 {print $0}&amp;#039;`&lt;br /&gt;
 &lt;br /&gt;
 c1=`cat /etc/group |awk -F &amp;#039;:&amp;#039; &amp;#039;$3 &amp;gt; 1000 &amp;amp;&amp;amp; $3 &amp;lt; 2000 {print $0}&amp;#039;|wc -l`&lt;br /&gt;
 c2=`cat /tmp/group |awk -F &amp;#039;:&amp;#039; &amp;#039;$3 &amp;gt; 1000 &amp;amp;&amp;amp; $3 &amp;lt; 2000 {print $0}&amp;#039;|wc -l`&lt;br /&gt;
 &lt;br /&gt;
 if [ $c2 -gt $c1 ]; then&lt;br /&gt;
        newone=`comm --nocheck-order -13 &amp;lt;(echo $var1) &amp;lt;(echo $var2)`&lt;br /&gt;
        echo $newone &amp;gt;&amp;gt; /etc/group&lt;br /&gt;
 fi&lt;br /&gt;
&lt;br /&gt;
== WHM replicate suphp to clean server ==&lt;br /&gt;
&lt;br /&gt;
 scp /usr/lib64/httpd/modules/mod_suphp.so 172.18.0.6:/usr/lib64/httpd/modules/&lt;br /&gt;
 scp /etc/httpd/conf.modules.d/90-suphp.conf 172.18.0.6:/etc/httpd/conf.modules.d/&lt;br /&gt;
 scp /usr/lib64/httpd/modules/mod_suphp.so 172.18.0.6:/usr/lib64/httpd/modules/&lt;br /&gt;
 scp /usr/sbin/suphp 172.18.0.6:/usr/sbin/&lt;br /&gt;
 scp /etc/suphp.conf 172.18.0.6:/etc/&lt;br /&gt;
 scp /etc/httpd/conf.d/php.conf 172.18.0.6:/etc/httpd/conf.d/&lt;br /&gt;
 scp /etc/httpd/conf.modules.d/10-php.conf 172.18.0.6:/etc/httpd/conf.modules.d/&lt;br /&gt;
 &lt;br /&gt;
 chown root.nobody /usr/sbin/suphp&lt;br /&gt;
 chmod 4750 /usr/sbin/suphp&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Sync nginx conf ==&lt;br /&gt;
&lt;br /&gt;
 #!/bin/bash&lt;br /&gt;
 &lt;br /&gt;
 servs=(192.168.0.11 192.168.0.12 192.168.0.15 192.168.0.16 192.168.0.17 192.168.0.19 192.168.0.20 192.168.0.21 192.168.0.22 192.168.0.23 192.168.0.24 192.168.0.26 192.168.0.115 192.168.0.116 192.168.0.117 192.168.0.118 192.168.0.29 192.168.0.30)&lt;br /&gt;
 &lt;br /&gt;
 for i in &amp;quot;${servs[@]}&amp;quot;&lt;br /&gt;
 do&lt;br /&gt;
        echo $i&lt;br /&gt;
        scp nginx_conf/nginx.conf $i:/etc/nginx/&lt;br /&gt;
        scp nginx_conf/.htpasswd $i:/etc/nginx/&lt;br /&gt;
        scp -r nginx_conf/conf.d $i:/etc/nginx/&lt;br /&gt;
        ssh $i &amp;#039;sed -i &amp;quot;s/Lxxx/`echo L\`hostname|cut -d &amp;quot;-&amp;quot; -f1|sed &amp;quot;s/web//&amp;quot;\``/g&amp;quot; /etc/nginx/conf.d/* &amp;amp;&amp;amp; service nginx restart&amp;#039;&lt;br /&gt;
 done&lt;br /&gt;
&lt;br /&gt;
== Manage CWM auto start and stop server ==&lt;br /&gt;
&lt;br /&gt;
 #!/bin/bash&lt;br /&gt;
 . keys.sh&lt;br /&gt;
 &lt;br /&gt;
 &lt;br /&gt;
 minservs=4&lt;br /&gt;
 maxservs=8&lt;br /&gt;
 locon=2500&lt;br /&gt;
 hicon=8000&lt;br /&gt;
 &lt;br /&gt;
 servs=($serv_01 $serv_02 $serv_03 $serv_04 $serv_05 $serv_06 $serv_07 $serv_08)&lt;br /&gt;
 onservs=0&lt;br /&gt;
 conns=0&lt;br /&gt;
 #echo ${servs[@]}&lt;br /&gt;
 &lt;br /&gt;
 for i in &amp;quot;${servs[@]}&amp;quot;&lt;br /&gt;
 do&lt;br /&gt;
        readarray -t values &amp;lt; &amp;lt;(curl -s -H &amp;quot;AuthClientId: ${clientId}&amp;quot; -H &amp;quot;AuthSecret: ${secret}&amp;quot; &amp;quot;https://console.cloudwm.com/service/server/${i}&amp;quot;|/root/api/jq -r &amp;#039;(map(values))[]&amp;#039;) # | egrep &amp;quot;power|ip&amp;quot;&lt;br /&gt;
        #echo ${values[6]} ##power&lt;br /&gt;
        #echo ${values[14]} |sed &amp;#039;s/\&amp;quot;//g&amp;#039; ##ips&lt;br /&gt;
        if [ ${values[6]} == &amp;#039;on&amp;#039; ]; then &lt;br /&gt;
                #onservs=$((onservs+1))&lt;br /&gt;
                ((onservs++))&lt;br /&gt;
                ip=$(echo ${values[14]} |tr -d \&amp;quot;\&amp;#039;\&amp;quot;,\&amp;quot;) ##ips&lt;br /&gt;
                curcon=$(ssh $ip &amp;quot;netstat -ant | grep :80 | wc -l&amp;quot;)&lt;br /&gt;
                #echo $ip , $curcon&lt;br /&gt;
                conns=$((conns+curcon))&lt;br /&gt;
        fi&lt;br /&gt;
        #declare -p values&lt;br /&gt;
 done&lt;br /&gt;
 &lt;br /&gt;
 #echo &amp;quot;On servers: &amp;quot; $onservs&lt;br /&gt;
 #echo &amp;quot;Connections: &amp;quot; $conns&lt;br /&gt;
 &lt;br /&gt;
 mid=$((conns/onservs))&lt;br /&gt;
 #echo &amp;quot;mid: &amp;quot; $mid&lt;br /&gt;
 &lt;br /&gt;
 if [[ $mid &amp;gt; $hicon ]] &amp;amp;&amp;amp; [[ $onservs &amp;lt; $maxservs ]]; then   ## power on +1&lt;br /&gt;
        #echo &amp;quot;hi&amp;quot;&lt;br /&gt;
        srv=${servs[onservs]}&lt;br /&gt;
        #echo $srv&lt;br /&gt;
        curl -s -H &amp;quot;AuthClientId: ${clientId}&amp;quot; -H &amp;quot;AuthSecret: ${secret}&amp;quot; -X PUT -d &amp;quot;power=on&amp;quot; &amp;quot;https://console.cloudwm.com/service/server/${srv}/power&amp;quot;&lt;br /&gt;
 &lt;br /&gt;
 elif [[ $mid &amp;lt; $locon ]] &amp;amp;&amp;amp; [[ $onservs &amp;gt; $minservs ]]; then   ## power off -1&lt;br /&gt;
        #echo &amp;quot;lo&amp;quot; $onservs&lt;br /&gt;
        srv=${servs[onservs-1]}&lt;br /&gt;
        #echo $srv&lt;br /&gt;
        curl -s -H &amp;quot;AuthClientId: ${clientId}&amp;quot; -H &amp;quot;AuthSecret: ${secret}&amp;quot; -X PUT -d &amp;quot;power=off&amp;quot; &amp;quot;https://console.cloudwm.com/service/server/${srv}/power&amp;quot;&lt;br /&gt;
 fi&lt;br /&gt;
&lt;br /&gt;
== SQL dump ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
 #!/bin/bash&lt;br /&gt;
 &lt;br /&gt;
 retain=7                                ## days to keep&lt;br /&gt;
 logdir=&amp;quot;/var/www/html/sqlbackups/&amp;quot;      ## dumps folder&lt;br /&gt;
 prename=&amp;quot;db_Backup&amp;quot;                     ## name prefix&lt;br /&gt;
 postname=&amp;quot;.sql.gz&amp;quot;                      ## name suffix&lt;br /&gt;
 mailaddr=&amp;quot;eitani@gmail.com&amp;quot;&lt;br /&gt;
 &lt;br /&gt;
 dumpcmd=&amp;quot;mysqldump --all-databases&amp;quot;&lt;br /&gt;
 date=`date +&amp;quot;%d%b%y&amp;quot;`&lt;br /&gt;
 tmst=&amp;#039;date +%Y%m%d-%H%M%S.%N&amp;#039;&lt;br /&gt;
 outstr=&amp;quot;[`$tmst`]: Dump started\n&amp;quot;&lt;br /&gt;
 &lt;br /&gt;
 fullname=$logdir$prename&amp;quot;_&amp;quot;$date$postname&lt;br /&gt;
 &lt;br /&gt;
 if [ -z &amp;quot;$logdir&amp;quot; ]; then&lt;br /&gt;
        outstr=$outstr&amp;quot;[`$tmst`]: Log directory not set\n&amp;quot;&lt;br /&gt;
        out=1&lt;br /&gt;
 else&lt;br /&gt;
        outstr=$outstr&amp;quot;[`$tmst`]: Running dump $dumpcmd | gzip -c &amp;gt; $fullname\n&amp;quot;&lt;br /&gt;
        $dumpcmd | gzip -c &amp;gt; $fullname&lt;br /&gt;
        out=$?&lt;br /&gt;
 fi&lt;br /&gt;
 &lt;br /&gt;
 if &amp;lt;nowiki&amp;gt;[[ $out = 0 ]]; then &amp;lt;/nowiki&amp;gt;&lt;br /&gt;
        outstr=$outstr&amp;quot;[`$tmst`]: Dump done, file: $fullname\n&amp;quot;&lt;br /&gt;
        outstr=$outstr&amp;quot;[`$tmst`]: Deleting old backups (older than $retain days) from folder: $logdir\n&amp;quot;&lt;br /&gt;
        outstr=$outstr&amp;quot;[`$tmst`]: Files to be deleted: `find $logdir -type f -mtime +$retain `\n&amp;quot;&lt;br /&gt;
        `find $logdir -type f -mtime +$retain -exec rm {} \;`&lt;br /&gt;
 else&lt;br /&gt;
        outstr=$outstr&amp;quot;[`$tmst`]: Dump failed\n&amp;quot;&lt;br /&gt;
 fi&lt;br /&gt;
 &lt;br /&gt;
 outstr=$outstr&amp;quot;[`$tmst`]: Script done\n&amp;quot;&lt;br /&gt;
 &lt;br /&gt;
 #echo -e $outstr&lt;br /&gt;
 &lt;br /&gt;
 mailtxt=&amp;quot;Subject: SQLdump on webbit server\nFrom: script@webbit.web\nTo: $mailaddr\n\n$outstr&amp;quot;&lt;br /&gt;
 echo -e $mailtxt | sendmail -t&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Check DNS zones ==&lt;br /&gt;
&lt;br /&gt;
 #!/bin/bash&lt;br /&gt;
 &lt;br /&gt;
 iparr=()&lt;br /&gt;
 ipbad=()&lt;br /&gt;
 &lt;br /&gt;
 tempfile=&amp;quot;/tmp/zonetempfile.db&amp;quot;&lt;br /&gt;
 backupdir=&amp;quot;/root/oldzones&amp;quot;&lt;br /&gt;
 &lt;br /&gt;
 getzones () {&lt;br /&gt;
        zones=($(find /var/named/*.db -printf &amp;#039;%f\n&amp;#039;|sed &amp;#039;s/\.db//g&amp;#039;))&lt;br /&gt;
        #echo $zones&lt;br /&gt;
 }&lt;br /&gt;
 &lt;br /&gt;
 findoffs () {&lt;br /&gt;
        fl=$1&lt;br /&gt;
        a=()&lt;br /&gt;
        #echo &amp;quot;File: &amp;quot; $fl&lt;br /&gt;
        #cat $fl | while read line&lt;br /&gt;
        #do&lt;br /&gt;
        while read -r line&lt;br /&gt;
        do&lt;br /&gt;
                #echo &amp;quot;line: &amp;quot;$line&lt;br /&gt;
  &amp;lt;nowiki&amp;gt;              if [[ &amp;quot;${line:0:1}&amp;quot; == &amp;quot;;&amp;quot; ]] &amp;amp;&amp;amp; [[ $line == *&amp;quot;IN A&amp;quot;* ]] ; then&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
                        addr=$(echo $line|awk &amp;#039;{print $4}&amp;#039;)&lt;br /&gt;
                        #echo &amp;quot;adr:&amp;quot; $addr&lt;br /&gt;
                        checkip $addr&lt;br /&gt;
                        #echo done&lt;br /&gt;
                        changed+=($res)&lt;br /&gt;
                fi&lt;br /&gt;
        done &amp;lt; &amp;lt;(cat $fl)&lt;br /&gt;
        #done&lt;br /&gt;
 }&lt;br /&gt;
 &lt;br /&gt;
 checkip () {&lt;br /&gt;
        ipad=$1&lt;br /&gt;
        #echo $ipad&lt;br /&gt;
        if [[ &amp;quot;${iparr[@]}&amp;quot; =~ &amp;quot;i${ipad}i&amp;quot; ]]; then&lt;br /&gt;
        #if [[ &amp;quot;${iparr[@]}&amp;quot; == &amp;quot;${ipad}&amp;quot; ]]; then&lt;br /&gt;
                #echo &amp;quot;Found: &amp;quot; $ipad&lt;br /&gt;
                return 0&lt;br /&gt;
        elif [[ &amp;quot;${ipbad[@]}&amp;quot; =~ &amp;quot;i${ipad}i&amp;quot; ]]; then&lt;br /&gt;
                #echo &amp;quot;found bad: &amp;quot; $ipad&lt;br /&gt;
                return 1&lt;br /&gt;
        else&lt;br /&gt;
                #echo &amp;quot;Not found: &amp;quot; $ipad&lt;br /&gt;
                timeout 2 ping -c 1 $addr &amp;gt; /dev/null&lt;br /&gt;
                res=$?&lt;br /&gt;
                ii=&amp;quot;i&amp;quot;$ipad&amp;quot;i&amp;quot;&lt;br /&gt;
                if [[ $res == 0 ]]; then&lt;br /&gt;
                        #echo $ii&lt;br /&gt;
                        #iparr+=($ipad)&lt;br /&gt;
                        iparr+=($ii)&lt;br /&gt;
                        #echo &amp;quot;add to good: &amp;quot;$ii&lt;br /&gt;
                        return 0&lt;br /&gt;
                else&lt;br /&gt;
                        ipbad+=($ii)&lt;br /&gt;
                        #echo &amp;quot;add to bad: &amp;quot;$ii &amp;quot;, old: &amp;quot;${ipbad[@]}&lt;br /&gt;
                        return 1&lt;br /&gt;
                fi&lt;br /&gt;
                #echo &amp;quot;no&amp;quot;&lt;br /&gt;
        fi&lt;br /&gt;
 }&lt;br /&gt;
 &lt;br /&gt;
 parsezone () {&lt;br /&gt;
        zone=$1&lt;br /&gt;
        #echo &amp;quot;Zone: &amp;quot; $zone&lt;br /&gt;
        fname=&amp;quot;/var/named/$1.db&amp;quot;&lt;br /&gt;
        #echo &amp;quot;Name: &amp;quot; $fname&lt;br /&gt;
        parsed=($(named-checkzone -q -i none -s full -D $1 /var/named/$1.db | egrep &amp;quot;IN SOA|IN A&amp;quot;))&lt;br /&gt;
        #for i in `named-checkzone -q -i none -s full -D $1 /var/named/$1.db | egrep &amp;quot;IN SOA|IN A&amp;quot;`&lt;br /&gt;
        #do&lt;br /&gt;
        #       echo &amp;quot;u: &amp;quot; $i&lt;br /&gt;
        #done&lt;br /&gt;
 &lt;br /&gt;
 &lt;br /&gt;
        #echo &amp;quot;Parsed: &amp;quot; $parsed&lt;br /&gt;
        for i in ${parsed[@]}&lt;br /&gt;
        do&lt;br /&gt;
                #echo &amp;quot;z: &amp;quot; $zone &amp;quot;i: &amp;quot; $i&lt;br /&gt;
                if [[ $i == *&amp;quot;SOA&amp;quot;* ]]; then&lt;br /&gt;
                        ser=$(echo $i|awk &amp;#039;{print $7}&amp;#039;)&lt;br /&gt;
                        #echo &amp;quot;Ser: &amp;quot; $ser&lt;br /&gt;
                elif [[ $i == *&amp;quot;IN A&amp;quot;* ]]; then&lt;br /&gt;
                        host=$(echo $i|awk &amp;#039;{print $1}&amp;#039;)&lt;br /&gt;
                        addr=$(echo $i|awk &amp;#039;{print $5}&amp;#039;)&lt;br /&gt;
                        #echo &amp;quot;Pinging: *&amp;quot;$addr&amp;quot;*&amp;quot;&lt;br /&gt;
                        #timeout 3 ping -c 1 $addr #&amp;gt; /dev/null&lt;br /&gt;
                        checkip $addr&lt;br /&gt;
                        res=$?&lt;br /&gt;
                        let changed+=($res)&lt;br /&gt;
                        if [[ $res &amp;gt; 0 ]]; then&lt;br /&gt;
                                toblock+=($addr)&lt;br /&gt;
                        fi&lt;br /&gt;
                        #echo &amp;quot;Host: &amp;quot; $host &amp;quot;Addr: &amp;quot; $addr &amp;quot;Res: &amp;quot; $res&lt;br /&gt;
                fi&lt;br /&gt;
        done&lt;br /&gt;
        #echo &amp;quot;Block: &amp;quot; $toblock&lt;br /&gt;
        #echo &amp;quot;Parsed: &amp;quot; ${parsed[@]}&lt;br /&gt;
        #sers=$(echo $parsed|grep SOA|awk &amp;#039;{print $7}&amp;#039;)&lt;br /&gt;
        #sers=$(echo $parsed|grep SOA)&lt;br /&gt;
        #arec=$(echo $parsed|grep &amp;quot;IN A&amp;quot;)&lt;br /&gt;
        #echo &amp;quot;ser: &amp;quot; $sers&lt;br /&gt;
        #echo ${arec[@]}&lt;br /&gt;
        #for i in &amp;quot;${arec[@]}&amp;quot;&lt;br /&gt;
        #do&lt;br /&gt;
        #       echo &amp;quot;As: &amp;quot; $i&lt;br /&gt;
        #done&lt;br /&gt;
 }&lt;br /&gt;
 &lt;br /&gt;
 updatezone () {&lt;br /&gt;
        uzone=$1&lt;br /&gt;
        zname=$2&lt;br /&gt;
        newser=$((ser+1))&lt;br /&gt;
        #echo &amp;quot;old ser&amp;quot; $ser&lt;br /&gt;
        #echo &amp;quot;new ser&amp;quot; $newser&lt;br /&gt;
        cp $zname /root/scripts/&lt;br /&gt;
 &lt;br /&gt;
        sed -i &amp;quot;s/$ser/$newser/&amp;quot; $zname   # update serial&lt;br /&gt;
        infile=$(cat $zname)&lt;br /&gt;
        #outfile=&amp;quot;z.z&amp;quot;&lt;br /&gt;
        outfile=tempfile&lt;br /&gt;
        &amp;gt; $outfile&lt;br /&gt;
        #echo $infile&lt;br /&gt;
        for f1 in $infile&lt;br /&gt;
        do&lt;br /&gt;
                #echo &amp;quot; - &amp;quot;$f1&lt;br /&gt;
                newline=$f1&lt;br /&gt;
                if [[ &amp;quot;${f1:0:1}&amp;quot; == &amp;quot;;&amp;quot; ]] &amp;amp;&amp;amp; [[ $f1 == *&amp;quot;IN A&amp;quot;* ]] ; then&lt;br /&gt;
                        fip=$(echo $f1|awk &amp;#039;{print $4}&amp;#039;)&lt;br /&gt;
                        #echo &amp;quot;add: &amp;quot;$fip&lt;br /&gt;
                        if ! [[ &amp;quot;${ipbad[@]}&amp;quot; =~ &amp;quot;i${fip}i&amp;quot; ]]; then&lt;br /&gt;
                                #echo &amp;quot;remove from bad&amp;quot; $fip&lt;br /&gt;
                                newline=$(echo $f1|sed -r &amp;#039;s/^.{1}//&amp;#039;)&lt;br /&gt;
                                #echo &amp;quot;new: &amp;quot;$newline&lt;br /&gt;
                        fi&lt;br /&gt;
                elif [[ $f1 == *&amp;quot;IN A&amp;quot;*  ]]; then&lt;br /&gt;
                        fip=$(echo $f1|awk &amp;#039;{print $4}&amp;#039;)&lt;br /&gt;
                        #echo &amp;quot;add: &amp;quot;$fip&lt;br /&gt;
                        if ! [[ &amp;quot;${iparr[@]}&amp;quot; =~ &amp;quot;i${fip}i&amp;quot; ]]; then&lt;br /&gt;
                                #echo &amp;quot;remove from good&amp;quot; $fip&lt;br /&gt;
                                newline=&amp;quot;;&amp;quot;$f1&lt;br /&gt;
                                #echo &amp;quot;new: &amp;quot;$newline&lt;br /&gt;
                        fi&lt;br /&gt;
                fi&lt;br /&gt;
                echo $newline &amp;gt;&amp;gt; $outfile&lt;br /&gt;
        done&lt;br /&gt;
        cat $outfile &amp;gt; $zname&lt;br /&gt;
 }&lt;br /&gt;
 &lt;br /&gt;
 IFS=&amp;#039;&lt;br /&gt;
 &amp;#039;&lt;br /&gt;
 &lt;br /&gt;
 #zone=&amp;quot;eye-t.co.il&amp;quot;&lt;br /&gt;
 getzones&lt;br /&gt;
 #echo $zones&lt;br /&gt;
 &lt;br /&gt;
 #if [ ! -d $backupdir ]; then&lt;br /&gt;
 #       echo &amp;quot;nofolder&amp;quot;&lt;br /&gt;
 #       mkdir $backupdir&lt;br /&gt;
 #fi&lt;br /&gt;
 &lt;br /&gt;
 curdate=$(date +&amp;quot;%Y%m%d-%H%M%S&amp;quot;)&lt;br /&gt;
 &lt;br /&gt;
 #echo $curdate&lt;br /&gt;
 &lt;br /&gt;
 for zone in &amp;quot;${zones[@]}&amp;quot;&lt;br /&gt;
 do&lt;br /&gt;
        changed=0&lt;br /&gt;
        toblock=()&lt;br /&gt;
        toallow=()&lt;br /&gt;
 &lt;br /&gt;
        parsezone $zone&lt;br /&gt;
        #echo $fname&lt;br /&gt;
        findoffs $fname&lt;br /&gt;
        #echo &amp;quot;change: &amp;quot; $changed&lt;br /&gt;
        #echo &amp;quot;good: &amp;quot; ${iparr[@]}&lt;br /&gt;
        #echo &amp;quot;bad: &amp;quot; ${ipbad[@]}&lt;br /&gt;
        if [[ $changed &amp;gt; 0 ]]; then&lt;br /&gt;
                if [ ! -d $backupdir/$curdate ]; then&lt;br /&gt;
                        mkdir $backupdir/$curdate -p&lt;br /&gt;
                fi&lt;br /&gt;
                echo &amp;quot;zone: &amp;quot; $zone &amp;quot;changed!!!&amp;quot;&lt;br /&gt;
                cp $fname $backupdir/$curdate/&lt;br /&gt;
                updatezone $zone $fname&lt;br /&gt;
        fi&lt;br /&gt;
 done&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Get all CFS users ==&lt;br /&gt;
&lt;br /&gt;
After login, save the cookie.&lt;br /&gt;
&lt;br /&gt;
Get all organizations:&lt;br /&gt;
 curl --cookie &amp;quot;cwmid=001; PHPSESSID=xxx&amp;quot; &amp;quot;https://null.cloudwm.com/svc/fileserver/groups?size=500&amp;amp;sortBy=name&amp;amp;sortAsc=true&amp;amp;filter=&amp;amp;from=&amp;quot;|jq -r &amp;#039;(map(values))[]&amp;#039;|grep &amp;quot;\&amp;quot;id&amp;quot;|cut -d&amp;quot;\&amp;quot;&amp;quot; -f4&lt;br /&gt;
&lt;br /&gt;
Get users of an organization:&lt;br /&gt;
 curl --cookie &amp;quot;cwmid=001; PHPSESSID=xxx&amp;quot; &amp;quot;https://null.cloudwm.com/svc/fileserver/group/$i&amp;quot;|jq -r &amp;#039;(map(values))[]&amp;#039;|grep &amp;quot;email&amp;quot;|cut -d&amp;quot;\&amp;quot;&amp;quot; -f4&lt;br /&gt;
&lt;br /&gt;
Get full list of all users:&lt;br /&gt;
 IFS=$&amp;#039;\n&amp;#039; ; for i in `curl --cookie &amp;quot;cwmid=001; PHPSESSID=xxx&amp;quot; &amp;quot;https://null.cloudwm.com/svc/fileserver/groups?size=500&amp;amp;sortBy=name&amp;amp;sortAsc=true&amp;amp;filter=&amp;amp;from=&amp;quot;|jq -r &amp;#039;(map(values))[]&amp;#039;|grep &amp;quot;\&amp;quot;id&amp;quot;|cut -d&amp;quot;\&amp;quot;&amp;quot; -f4`; do z=$(echo $i|sed &amp;#039;s/ /%20/g&amp;#039;) ; curl --cookie &amp;quot;cwmid=001; PHPSESSID=xxx&amp;quot; &amp;quot;https://null.cloudwm.com/svc/fileserver/group/$z&amp;quot;|jq -r &amp;#039;(map(values))[]&amp;#039;|grep &amp;quot;email&amp;quot;|cut -d&amp;quot;\&amp;quot;&amp;quot; -f4;done&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Clone servers ==&lt;br /&gt;
&lt;br /&gt;
 #!/bin/bash&lt;br /&gt;
 ###########################################    README    ###########################################################################&lt;br /&gt;
 ## make sure to use followin jq binary: https://github.com/stedolan/jq/releases/download/jq-1.5/jq-linux64 &lt;br /&gt;
 ## before running the script change, parameters in settings and copy ssh key to all haproxies&lt;br /&gt;
 ## made for web servers only , modify the function if you wish to use for different balancing modes&lt;br /&gt;
 #####################################################################################################################################&lt;br /&gt;
 &lt;br /&gt;
 while [ -z $numbers ];do&lt;br /&gt;
 &lt;br /&gt;
 read -p  &amp;quot;How many servers you want to clone?: &amp;quot; numbers&lt;br /&gt;
 &lt;br /&gt;
 done&lt;br /&gt;
 &lt;br /&gt;
 cloneServer () {&lt;br /&gt;
 &lt;br /&gt;
     ################ Settings ################&lt;br /&gt;
                 src=&amp;quot;xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx&amp;quot;&lt;br /&gt;
                 clientId=&amp;quot;xxxxxxxxxxxxxxxxxxxxxxxxxxxxxx&amp;quot;&lt;br /&gt;
                 secret=&amp;quot;xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx&amp;quot;&lt;br /&gt;
                 haproxy1=&amp;quot;xxx.xxx.xx.xx&amp;quot;&lt;br /&gt;
                 haproxy2=&amp;quot;xxx.xxx.xxx.xx&amp;quot;&lt;br /&gt;
                 prefix=&amp;quot;web&amp;quot;&lt;br /&gt;
                 domainsuff=&amp;quot;example.com&amp;quot;&lt;br /&gt;
                 dc=&amp;quot;IL&amp;quot;&lt;br /&gt;
                 cpu=&amp;quot;1D&amp;quot;&lt;br /&gt;
                 billing=&amp;quot;hourly&amp;quot;&lt;br /&gt;
                 power=&amp;quot;on&amp;quot;&lt;br /&gt;
                 port=&amp;quot;80&amp;quot; &lt;br /&gt;
     ############### END SETTINGS #############&lt;br /&gt;
 &lt;br /&gt;
                 NC=&amp;#039;\033[0m&amp;#039;&lt;br /&gt;
                 GREEN=&amp;#039;\033[0;32m&amp;#039;&lt;br /&gt;
                 YELLOW=&amp;#039;\033[0;33m&amp;#039;&lt;br /&gt;
                 &lt;br /&gt;
                 last=$(curl -s -H &amp;quot;AuthClientId: ${clientId}&amp;quot; -H &amp;quot;AuthSecret: ${secret}&amp;quot; &amp;quot;https://api.cloudwm.com/service/servers&amp;quot; | jq &amp;#039;.[] | select( .datacenter | contains(&amp;quot;&amp;#039;&amp;quot;${dc}&amp;quot;&amp;#039;&amp;quot;))&amp;#039; | jq &amp;#039;. | select( .name | startswith(&amp;quot;&amp;#039;&amp;quot;${prefix}&amp;quot;&amp;#039;&amp;quot;)) | .name&amp;#039; | cut -d&amp;#039;_&amp;#039; -f1 | grep -Eo &amp;#039;[0-9]{1,9}&amp;#039; | tail -1)&lt;br /&gt;
 &lt;br /&gt;
                 name=&amp;quot;${prefix}$((last+1)).${domainsuff}&amp;quot;&lt;br /&gt;
 &lt;br /&gt;
                 lastname=&amp;quot;${prefix}${last}.${domainsuff}&amp;quot;&lt;br /&gt;
 &lt;br /&gt;
 &lt;br /&gt;
                 curl -H &amp;quot;AuthClientId: ${clientId}&amp;quot; -H &amp;quot;AuthSecret: ${secret}&amp;quot; -X POST -d &amp;quot;source=${src}&amp;amp;name=${name}&amp;amp;cpu=${cpu}&amp;amp;billing=${billing}&amp;amp;power=${power}&amp;quot; &amp;quot;https://console.clubvps.com/service/server&amp;quot;&lt;br /&gt;
 &lt;br /&gt;
                 echo &amp;quot;&amp;quot;&lt;br /&gt;
 &lt;br /&gt;
                 while [ -z &amp;quot;$newserverid&amp;quot; ] ;do&lt;br /&gt;
 &lt;br /&gt;
                 newserverid=$(curl -s -H &amp;quot;AuthClientId: ${clientId}&amp;quot; -H &amp;quot;AuthSecret: ${secret}&amp;quot; &amp;quot;https://api.cloudwm.com/service/servers&amp;quot; | jq &amp;#039;.[] | select( .datacenter | contains(&amp;quot;&amp;#039;&amp;quot;${dc}&amp;quot;&amp;#039;&amp;quot;))&amp;#039; | jq &amp;#039;. | select( .name | startswith(&amp;quot;&amp;#039;&amp;quot;${name}&amp;quot;&amp;#039;&amp;quot;)) | .id&amp;#039; | cut -d&amp;#039;&amp;quot;&amp;#039; -f2 | tail -1)&lt;br /&gt;
 &lt;br /&gt;
                 sleep 5&lt;br /&gt;
 &lt;br /&gt;
                 echo -e ${YELLOW}Waiting for new server named: ${GREEN}${name}${NC} ${YELLOW}to clone${NC}&lt;br /&gt;
 &lt;br /&gt;
                 done&lt;br /&gt;
 &lt;br /&gt;
                 newserverip=`curl -s -H &amp;quot;AuthClientId: ${clientId}&amp;quot; -H &amp;quot;AuthSecret: ${secret}&amp;quot; &amp;quot;https://api.cloudwm.com/service/server/${newserverid}&amp;quot; | jq &amp;#039;.networks[].ips[]&amp;#039; | cut -d&amp;#039;&amp;quot;&amp;#039; -f2`&lt;br /&gt;
 &lt;br /&gt;
                 echo -e created new server named: ${GREEN}${name}${NC} with the ip: ${GREEN}${newserverip}${NC}&lt;br /&gt;
 &lt;br /&gt;
                 echo -e ${GREEN}updating haproxies${NC}&lt;br /&gt;
 &lt;br /&gt;
 &lt;br /&gt;
                 ssh root@${haproxy1} &amp;#039;export &amp;#039;&amp;quot;lastname=$lastname&amp;quot;&amp;#039; &amp;amp;&amp;amp; lastad=$(cat /etc/haproxy/haproxy.cfg | grep -e $lastname) &amp;amp;&amp;amp; echo sed -i \&amp;quot;/${lastad}/a server &amp;#039;&amp;quot;${name}&amp;quot;&amp;#039; &amp;#039;&amp;quot;${newserverip}&amp;quot;&amp;#039;:&amp;#039;&amp;quot;${port}&amp;quot;&amp;#039; check\&amp;quot; /etc/haproxy/haproxy.cfg &amp;gt; cmd.txt | cat cmd.txt|bash &amp;amp;&amp;amp; service haproxy reload&amp;#039;&lt;br /&gt;
                 ssh root@${haproxy1} &amp;#039;export &amp;#039;&amp;quot;lastname=$lastname&amp;quot;&amp;#039; &amp;amp;&amp;amp; lastad=$(cat /etc/haproxy/haproxy.cfg | grep -e $lastname) &amp;amp;&amp;amp; echo sed -i \&amp;quot;/${lastad}/a server &amp;#039;&amp;quot;${name}&amp;quot;&amp;#039; &amp;#039;&amp;quot;${newserverip}&amp;quot;&amp;#039;:&amp;#039;&amp;quot;${port}&amp;quot;&amp;#039; check\&amp;quot; /etc/haproxy/haproxy.cfg &amp;gt; cmd.txt | cat cmd.txt|bash &amp;amp;&amp;amp; service haproxy reload&amp;#039;&lt;br /&gt;
                 &lt;br /&gt;
                 sleep 5&lt;br /&gt;
                 echo -e ${GREEN}done${NC}&lt;br /&gt;
 &lt;br /&gt;
 &lt;br /&gt;
 &lt;br /&gt;
 }&lt;br /&gt;
 &lt;br /&gt;
 while [ $numbers -gt 0 ];&lt;br /&gt;
 do&lt;br /&gt;
 &lt;br /&gt;
         cloneServer;&lt;br /&gt;
 &lt;br /&gt;
 numbers=$(($numbers-1))&lt;br /&gt;
 &lt;br /&gt;
 done&lt;/div&gt;</summary>
		<author><name>Meadmin</name></author>	</entry>

	<entry>
		<id>https://mywiki.romanost.co.il/index.php?title=Windows&amp;diff=53</id>
		<title>Windows</title>
		<link rel="alternate" type="text/html" href="https://mywiki.romanost.co.il/index.php?title=Windows&amp;diff=53"/>
				<updated>2018-06-04T09:34:49Z</updated>
		
		<summary type="html">&lt;p&gt;Meadmin: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== Delete HX user ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
 $domain = &amp;quot;Domain_name.com&amp;quot;&lt;br /&gt;
 Get-AddressBookPolicy $domain* | Remove-AddressBookPolicy -Confirm:$false&lt;br /&gt;
 Get-AddressList $domain* | Remove-AddressList -Confirm:$false&lt;br /&gt;
 Get-GlobalAddressList $domain* | Remove-GlobalAddressList -Confirm:$false&lt;br /&gt;
 Get-OfflineAddressBook $domain* | Remove-OfflineAddressBook -Confirm:$false&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Identify Worker Process in IIS 7.0 ==&lt;br /&gt;
&lt;br /&gt;
* From IIS 7.0 you need you to run IIS Command Tool ( appcmd ) .&lt;br /&gt;
&lt;br /&gt;
* Start &amp;gt; Run &amp;gt; Cmd&lt;br /&gt;
* Go To Windows &amp;gt; System32 &amp;gt; Inetsrv&lt;br /&gt;
* Run appcmd list wp&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Installing terminal licenses server 2012 2008 R2 ==&lt;br /&gt;
&lt;br /&gt;
* In powershell enter the following commands:&lt;br /&gt;
&lt;br /&gt;
 $obj = gwmi -namespace &amp;quot;Root/CIMV2/TerminalServices&amp;quot; Win32_TerminalServiceSetting&lt;br /&gt;
 $obj.ChangeMode(4)&lt;br /&gt;
 $obj.SetSpecifiedLicenseServerList(&amp;quot;$env:computername&amp;quot;)&lt;br /&gt;
 $obj.GetSpecifiedLicenseServerList()&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Remote control windows server 2012 ==&lt;br /&gt;
&lt;br /&gt;
 qwinsta&lt;br /&gt;
 mstsc.exe /shadow:sessionID /control /noConsentPrompt&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Export IIS bindings ==&lt;br /&gt;
&lt;br /&gt;
 %windir%\system32\inetsrv\appcmd list site &amp;gt; c:\sites-list.txt&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Fix DCOM permissions error ==&lt;br /&gt;
 https://www.tenforums.com/general-support/69270-dcom-error-10016-re-appid-f72671a9-012c-4725-9d2f-2a4d32d65169.html&lt;br /&gt;
&lt;br /&gt;
Run regedit and let it search for the first Hive Key.&lt;br /&gt;
Right click it and select &amp;quot;Permissions&amp;quot; A box will pop up. Tick &amp;quot;Advanced&amp;quot; &lt;br /&gt;
Another box appears and you will see that the Hive Key is owned by &amp;quot;Trusted Installer&amp;quot;&lt;br /&gt;
&lt;br /&gt;
Click on &amp;quot;Change&amp;quot; and type &amp;quot;Administrators&amp;quot; (without the quotation marks). Click apply and OK until your back into the first panel. Select Administrators from the list there and click on the &amp;quot;Full Control&amp;quot; check box.&lt;br /&gt;
&lt;br /&gt;
Now do the same for the next Hive Key.&lt;br /&gt;
&lt;br /&gt;
Leave Regedit open and run dcomcnfg. Click on the right hand side object until you see dcomconfig. Double click it and scroll down to the object named:&lt;br /&gt;
&lt;br /&gt;
{F72671A9-012C-4725-9D2F-2A4D32D65169}&lt;br /&gt;
&lt;br /&gt;
Right click that and select &amp;quot;Properties&amp;quot;. Under &amp;quot;Launch and Activation&amp;quot; click on &amp;quot;Edit&amp;quot; . Add User &amp;quot;SYSTEM&amp;quot; (no quotes),&lt;br /&gt;
Click OK. Back in the first panel select &amp;quot;SYSTEM&amp;quot; and click on the local permissions. &lt;br /&gt;
&lt;br /&gt;
Close dcomcnfg and go back to regedit. In there you need to grant back ownership to the original owners.&lt;br /&gt;
In this case one Hive Key was owned by &amp;quot;SYSTEM&amp;quot; the other by &amp;quot;TrustedInstaller&amp;quot; (type: NT SERVICE\TrustedInstaller)&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Links ==&lt;br /&gt;
&lt;br /&gt;
IIS 8.5 A+ SSL Labs [https://www.hass.de/content/setup-your-iis-ssl-perfect-forward-secrecy-and-tls-12]&lt;/div&gt;</summary>
		<author><name>Meadmin</name></author>	</entry>

	<entry>
		<id>https://mywiki.romanost.co.il/index.php?title=Scripts&amp;diff=52</id>
		<title>Scripts</title>
		<link rel="alternate" type="text/html" href="https://mywiki.romanost.co.il/index.php?title=Scripts&amp;diff=52"/>
				<updated>2018-05-22T13:24:01Z</updated>
		
		<summary type="html">&lt;p&gt;Meadmin: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&lt;br /&gt;
== Flying replication ==&lt;br /&gt;
&lt;br /&gt;
 rsync -avz 192.168.1.122:/usr/local/apache/conf/ /usr/local/apache/conf/ --delete&lt;br /&gt;
 rsync -avz 192.168.1.122:/var/named/ /var/named/ --delete&lt;br /&gt;
 rsync -avz 192.168.1.122:/usr/local/cpanel/ /usr/local/cpanel/ --delete&lt;br /&gt;
 rsync -avz 192.168.1.122:/var/cpanel/ /var/cpanel --delete&lt;br /&gt;
 &lt;br /&gt;
 for x in `cat /etc/trueuserowners|grep -v &amp;quot;#&amp;quot;|cut -d: -f1`;do /usr/local/cpanel/bin/setsiteip -u $x `hostname -i` ;done;  &lt;br /&gt;
 &lt;br /&gt;
 /scripts/rebuildhttpdconf&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== WHM replication to clean server ==&lt;br /&gt;
&lt;br /&gt;
 #!/bin/bash&lt;br /&gt;
 rsync -avz 192.168.1.21:/etc/apache2/conf/ /etc/httpd/conf/&lt;br /&gt;
 rsync -avz 192.168.1.21:/var/cpanel/ssl/installed/ /etc/ssl/certs/&lt;br /&gt;
 rsync -avz 192.168.1.21:/etc/apache2/conf.d/includes/ /etc/httpd/conf.d/includes/&lt;br /&gt;
 rsync -avz 192.168.1.21:/var/cpanel/ssl/cpanel/ /etc/ssl/certs/cpanel/&lt;br /&gt;
 sed -i &amp;quot;s/192.168.1.21/`hostname -i`/g&amp;quot; /etc/httpd/conf/httpd.conf&lt;br /&gt;
 sed -i &amp;quot;s/\/var\/cpanel\/ssl\/installed\//\/etc\/ssl\/certs\//g&amp;quot; /etc/httpd/conf/httpd.conf&lt;br /&gt;
 sed -i &amp;quot;s/\/etc\/apache2\//\/etc\/httpd\//g&amp;quot; /etc/httpd/conf/httpd.conf&lt;br /&gt;
 sed -i &amp;quot;s/RewriteMap LeechProtect/\#RewriteMap LeechProtect/g&amp;quot; /etc/httpd/conf/httpd.conf&lt;br /&gt;
 sed -i &amp;quot;s/Mutex file:\/run\/apache2/\#Mutex file:\/run\/apache2/g&amp;quot; /etc/httpd/conf/httpd.conf&lt;br /&gt;
 sed -i &amp;quot;s/apache2/httpd/g&amp;quot; /etc/httpd/conf/httpd.conf&lt;br /&gt;
 sed -i &amp;quot;s/\/var\/cpanel\/ssl\/cpanel\//\/etc\/ssl\/certs\/cpanel\//g&amp;quot; /etc/httpd/conf/httpd.conf&lt;br /&gt;
 sed -i &amp;quot;s/Listen \[\:\:\]\:80/\#Listen \[\:\:\]\:80/g&amp;quot; /etc/httpd/conf/httpd.conf&lt;br /&gt;
 &lt;br /&gt;
 rsync -avz 192.168.1.21:/opt/cpanel/ea-php55/root/etc/php.ini /etc/&lt;br /&gt;
 rsync -avz 192.168.1.21:/etc/passwd /tmp/passwd&lt;br /&gt;
 rsync -avz 192.168.1.21:/etc/group /tmp/group&lt;br /&gt;
 &lt;br /&gt;
 var1=`cat /etc/passwd |awk -F &amp;#039;:&amp;#039; &amp;#039;$3 &amp;gt; 1000 &amp;amp;&amp;amp; $3 &amp;lt; 2000 {print $0}&amp;#039;`&lt;br /&gt;
 var2=`cat /tmp/passwd |awk -F &amp;#039;:&amp;#039; &amp;#039;$3 &amp;gt; 1000 &amp;amp;&amp;amp; $3 &amp;lt; 2000 {print $0}&amp;#039;`&lt;br /&gt;
 &lt;br /&gt;
 c1=`cat /etc/passwd |awk -F &amp;#039;:&amp;#039; &amp;#039;$3 &amp;gt; 1000 &amp;amp;&amp;amp; $3 &amp;lt; 2000 {print $0}&amp;#039;|wc -l`&lt;br /&gt;
 c2=`cat /tmp/passwd |awk -F &amp;#039;:&amp;#039; &amp;#039;$3 &amp;gt; 1000 &amp;amp;&amp;amp; $3 &amp;lt; 2000 {print $0}&amp;#039;|wc -l`&lt;br /&gt;
 &lt;br /&gt;
 if [ $c2 -gt $c1 ]; then&lt;br /&gt;
        newone=`comm --nocheck-order -13 &amp;lt;(echo $var1) &amp;lt;(echo $var2)`&lt;br /&gt;
        echo $newone &amp;gt;&amp;gt; /etc/passwd&lt;br /&gt;
 fi&lt;br /&gt;
 &lt;br /&gt;
 var1=`cat /etc/group |awk -F &amp;#039;:&amp;#039; &amp;#039;$3 &amp;gt; 1000 &amp;amp;&amp;amp; $3 &amp;lt; 2000 {print $0}&amp;#039;`&lt;br /&gt;
 var2=`cat /tmp/group |awk -F &amp;#039;:&amp;#039; &amp;#039;$3 &amp;gt; 1000 &amp;amp;&amp;amp; $3 &amp;lt; 2000 {print $0}&amp;#039;`&lt;br /&gt;
 &lt;br /&gt;
 c1=`cat /etc/group |awk -F &amp;#039;:&amp;#039; &amp;#039;$3 &amp;gt; 1000 &amp;amp;&amp;amp; $3 &amp;lt; 2000 {print $0}&amp;#039;|wc -l`&lt;br /&gt;
 c2=`cat /tmp/group |awk -F &amp;#039;:&amp;#039; &amp;#039;$3 &amp;gt; 1000 &amp;amp;&amp;amp; $3 &amp;lt; 2000 {print $0}&amp;#039;|wc -l`&lt;br /&gt;
 &lt;br /&gt;
 if [ $c2 -gt $c1 ]; then&lt;br /&gt;
        newone=`comm --nocheck-order -13 &amp;lt;(echo $var1) &amp;lt;(echo $var2)`&lt;br /&gt;
        echo $newone &amp;gt;&amp;gt; /etc/group&lt;br /&gt;
 fi&lt;br /&gt;
&lt;br /&gt;
== WHM replicate suphp to clean server ==&lt;br /&gt;
&lt;br /&gt;
 scp /usr/lib64/httpd/modules/mod_suphp.so 172.18.0.6:/usr/lib64/httpd/modules/&lt;br /&gt;
 scp /etc/httpd/conf.modules.d/90-suphp.conf 172.18.0.6:/etc/httpd/conf.modules.d/&lt;br /&gt;
 scp /usr/lib64/httpd/modules/mod_suphp.so 172.18.0.6:/usr/lib64/httpd/modules/&lt;br /&gt;
 scp /usr/sbin/suphp 172.18.0.6:/usr/sbin/&lt;br /&gt;
 scp /etc/suphp.conf 172.18.0.6:/etc/&lt;br /&gt;
 scp /etc/httpd/conf.d/php.conf 172.18.0.6:/etc/httpd/conf.d/&lt;br /&gt;
 scp /etc/httpd/conf.modules.d/10-php.conf 172.18.0.6:/etc/httpd/conf.modules.d/&lt;br /&gt;
 &lt;br /&gt;
 chown root.nobody /usr/sbin/suphp&lt;br /&gt;
 chmod 4750 /usr/sbin/suphp&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Sync nginx conf ==&lt;br /&gt;
&lt;br /&gt;
 #!/bin/bash&lt;br /&gt;
 &lt;br /&gt;
 servs=(192.168.0.11 192.168.0.12 192.168.0.15 192.168.0.16 192.168.0.17 192.168.0.19 192.168.0.20 192.168.0.21 192.168.0.22 192.168.0.23 192.168.0.24 192.168.0.26 192.168.0.115 192.168.0.116 192.168.0.117 192.168.0.118 192.168.0.29 192.168.0.30)&lt;br /&gt;
 &lt;br /&gt;
 for i in &amp;quot;${servs[@]}&amp;quot;&lt;br /&gt;
 do&lt;br /&gt;
        echo $i&lt;br /&gt;
        scp nginx_conf/nginx.conf $i:/etc/nginx/&lt;br /&gt;
        scp nginx_conf/.htpasswd $i:/etc/nginx/&lt;br /&gt;
        scp -r nginx_conf/conf.d $i:/etc/nginx/&lt;br /&gt;
        ssh $i &amp;#039;sed -i &amp;quot;s/Lxxx/`echo L\`hostname|cut -d &amp;quot;-&amp;quot; -f1|sed &amp;quot;s/web//&amp;quot;\``/g&amp;quot; /etc/nginx/conf.d/* &amp;amp;&amp;amp; service nginx restart&amp;#039;&lt;br /&gt;
 done&lt;br /&gt;
&lt;br /&gt;
== Manage CWM auto start and stop server ==&lt;br /&gt;
&lt;br /&gt;
 #!/bin/bash&lt;br /&gt;
 . keys.sh&lt;br /&gt;
 &lt;br /&gt;
 &lt;br /&gt;
 minservs=4&lt;br /&gt;
 maxservs=8&lt;br /&gt;
 locon=2500&lt;br /&gt;
 hicon=8000&lt;br /&gt;
 &lt;br /&gt;
 servs=($serv_01 $serv_02 $serv_03 $serv_04 $serv_05 $serv_06 $serv_07 $serv_08)&lt;br /&gt;
 onservs=0&lt;br /&gt;
 conns=0&lt;br /&gt;
 #echo ${servs[@]}&lt;br /&gt;
 &lt;br /&gt;
 for i in &amp;quot;${servs[@]}&amp;quot;&lt;br /&gt;
 do&lt;br /&gt;
        readarray -t values &amp;lt; &amp;lt;(curl -s -H &amp;quot;AuthClientId: ${clientId}&amp;quot; -H &amp;quot;AuthSecret: ${secret}&amp;quot; &amp;quot;https://console.cloudwm.com/service/server/${i}&amp;quot;|/root/api/jq -r &amp;#039;(map(values))[]&amp;#039;) # | egrep &amp;quot;power|ip&amp;quot;&lt;br /&gt;
        #echo ${values[6]} ##power&lt;br /&gt;
        #echo ${values[14]} |sed &amp;#039;s/\&amp;quot;//g&amp;#039; ##ips&lt;br /&gt;
        if [ ${values[6]} == &amp;#039;on&amp;#039; ]; then &lt;br /&gt;
                #onservs=$((onservs+1))&lt;br /&gt;
                ((onservs++))&lt;br /&gt;
                ip=$(echo ${values[14]} |tr -d \&amp;quot;\&amp;#039;\&amp;quot;,\&amp;quot;) ##ips&lt;br /&gt;
                curcon=$(ssh $ip &amp;quot;netstat -ant | grep :80 | wc -l&amp;quot;)&lt;br /&gt;
                #echo $ip , $curcon&lt;br /&gt;
                conns=$((conns+curcon))&lt;br /&gt;
        fi&lt;br /&gt;
        #declare -p values&lt;br /&gt;
 done&lt;br /&gt;
 &lt;br /&gt;
 #echo &amp;quot;On servers: &amp;quot; $onservs&lt;br /&gt;
 #echo &amp;quot;Connections: &amp;quot; $conns&lt;br /&gt;
 &lt;br /&gt;
 mid=$((conns/onservs))&lt;br /&gt;
 #echo &amp;quot;mid: &amp;quot; $mid&lt;br /&gt;
 &lt;br /&gt;
 if [[ $mid &amp;gt; $hicon ]] &amp;amp;&amp;amp; [[ $onservs &amp;lt; $maxservs ]]; then   ## power on +1&lt;br /&gt;
        #echo &amp;quot;hi&amp;quot;&lt;br /&gt;
        srv=${servs[onservs]}&lt;br /&gt;
        #echo $srv&lt;br /&gt;
        curl -s -H &amp;quot;AuthClientId: ${clientId}&amp;quot; -H &amp;quot;AuthSecret: ${secret}&amp;quot; -X PUT -d &amp;quot;power=on&amp;quot; &amp;quot;https://console.cloudwm.com/service/server/${srv}/power&amp;quot;&lt;br /&gt;
 &lt;br /&gt;
 elif [[ $mid &amp;lt; $locon ]] &amp;amp;&amp;amp; [[ $onservs &amp;gt; $minservs ]]; then   ## power off -1&lt;br /&gt;
        #echo &amp;quot;lo&amp;quot; $onservs&lt;br /&gt;
        srv=${servs[onservs-1]}&lt;br /&gt;
        #echo $srv&lt;br /&gt;
        curl -s -H &amp;quot;AuthClientId: ${clientId}&amp;quot; -H &amp;quot;AuthSecret: ${secret}&amp;quot; -X PUT -d &amp;quot;power=off&amp;quot; &amp;quot;https://console.cloudwm.com/service/server/${srv}/power&amp;quot;&lt;br /&gt;
 fi&lt;br /&gt;
&lt;br /&gt;
== SQL dump ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
 #!/bin/bash&lt;br /&gt;
 &lt;br /&gt;
 retain=7                                ## days to keep&lt;br /&gt;
 logdir=&amp;quot;/var/www/html/sqlbackups/&amp;quot;      ## dumps folder&lt;br /&gt;
 prename=&amp;quot;db_Backup&amp;quot;                     ## name prefix&lt;br /&gt;
 postname=&amp;quot;.sql.gz&amp;quot;                      ## name suffix&lt;br /&gt;
 mailaddr=&amp;quot;eitani@gmail.com&amp;quot;&lt;br /&gt;
 &lt;br /&gt;
 dumpcmd=&amp;quot;mysqldump --all-databases&amp;quot;&lt;br /&gt;
 date=`date +&amp;quot;%d%b%y&amp;quot;`&lt;br /&gt;
 tmst=&amp;#039;date +%Y%m%d-%H%M%S.%N&amp;#039;&lt;br /&gt;
 outstr=&amp;quot;[`$tmst`]: Dump started\n&amp;quot;&lt;br /&gt;
 &lt;br /&gt;
 fullname=$logdir$prename&amp;quot;_&amp;quot;$date$postname&lt;br /&gt;
 &lt;br /&gt;
 if [ -z &amp;quot;$logdir&amp;quot; ]; then&lt;br /&gt;
        outstr=$outstr&amp;quot;[`$tmst`]: Log directory not set\n&amp;quot;&lt;br /&gt;
        out=1&lt;br /&gt;
 else&lt;br /&gt;
        outstr=$outstr&amp;quot;[`$tmst`]: Running dump $dumpcmd | gzip -c &amp;gt; $fullname\n&amp;quot;&lt;br /&gt;
        $dumpcmd | gzip -c &amp;gt; $fullname&lt;br /&gt;
        out=$?&lt;br /&gt;
 fi&lt;br /&gt;
 &lt;br /&gt;
 if &amp;lt;nowiki&amp;gt;[[ $out = 0 ]]; then &amp;lt;/nowiki&amp;gt;&lt;br /&gt;
        outstr=$outstr&amp;quot;[`$tmst`]: Dump done, file: $fullname\n&amp;quot;&lt;br /&gt;
        outstr=$outstr&amp;quot;[`$tmst`]: Deleting old backups (older than $retain days) from folder: $logdir\n&amp;quot;&lt;br /&gt;
        outstr=$outstr&amp;quot;[`$tmst`]: Files to be deleted: `find $logdir -type f -mtime +$retain `\n&amp;quot;&lt;br /&gt;
        `find $logdir -type f -mtime +$retain -exec rm {} \;`&lt;br /&gt;
 else&lt;br /&gt;
        outstr=$outstr&amp;quot;[`$tmst`]: Dump failed\n&amp;quot;&lt;br /&gt;
 fi&lt;br /&gt;
 &lt;br /&gt;
 outstr=$outstr&amp;quot;[`$tmst`]: Script done\n&amp;quot;&lt;br /&gt;
 &lt;br /&gt;
 #echo -e $outstr&lt;br /&gt;
 &lt;br /&gt;
 mailtxt=&amp;quot;Subject: SQLdump on webbit server\nFrom: script@webbit.web\nTo: $mailaddr\n\n$outstr&amp;quot;&lt;br /&gt;
 echo -e $mailtxt | sendmail -t&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Check DNS zones ==&lt;br /&gt;
&lt;br /&gt;
 #!/bin/bash&lt;br /&gt;
 &lt;br /&gt;
 iparr=()&lt;br /&gt;
 ipbad=()&lt;br /&gt;
 &lt;br /&gt;
 tempfile=&amp;quot;/tmp/zonetempfile.db&amp;quot;&lt;br /&gt;
 backupdir=&amp;quot;/root/oldzones&amp;quot;&lt;br /&gt;
 &lt;br /&gt;
 getzones () {&lt;br /&gt;
        zones=($(find /var/named/*.db -printf &amp;#039;%f\n&amp;#039;|sed &amp;#039;s/\.db//g&amp;#039;))&lt;br /&gt;
        #echo $zones&lt;br /&gt;
 }&lt;br /&gt;
 &lt;br /&gt;
 findoffs () {&lt;br /&gt;
        fl=$1&lt;br /&gt;
        a=()&lt;br /&gt;
        #echo &amp;quot;File: &amp;quot; $fl&lt;br /&gt;
        #cat $fl | while read line&lt;br /&gt;
        #do&lt;br /&gt;
        while read -r line&lt;br /&gt;
        do&lt;br /&gt;
                #echo &amp;quot;line: &amp;quot;$line&lt;br /&gt;
  &amp;lt;nowiki&amp;gt;              if [[ &amp;quot;${line:0:1}&amp;quot; == &amp;quot;;&amp;quot; ]] &amp;amp;&amp;amp; [[ $line == *&amp;quot;IN A&amp;quot;* ]] ; then&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
                        addr=$(echo $line|awk &amp;#039;{print $4}&amp;#039;)&lt;br /&gt;
                        #echo &amp;quot;adr:&amp;quot; $addr&lt;br /&gt;
                        checkip $addr&lt;br /&gt;
                        #echo done&lt;br /&gt;
                        changed+=($res)&lt;br /&gt;
                fi&lt;br /&gt;
        done &amp;lt; &amp;lt;(cat $fl)&lt;br /&gt;
        #done&lt;br /&gt;
 }&lt;br /&gt;
 &lt;br /&gt;
 checkip () {&lt;br /&gt;
        ipad=$1&lt;br /&gt;
        #echo $ipad&lt;br /&gt;
        if [[ &amp;quot;${iparr[@]}&amp;quot; =~ &amp;quot;i${ipad}i&amp;quot; ]]; then&lt;br /&gt;
        #if [[ &amp;quot;${iparr[@]}&amp;quot; == &amp;quot;${ipad}&amp;quot; ]]; then&lt;br /&gt;
                #echo &amp;quot;Found: &amp;quot; $ipad&lt;br /&gt;
                return 0&lt;br /&gt;
        elif [[ &amp;quot;${ipbad[@]}&amp;quot; =~ &amp;quot;i${ipad}i&amp;quot; ]]; then&lt;br /&gt;
                #echo &amp;quot;found bad: &amp;quot; $ipad&lt;br /&gt;
                return 1&lt;br /&gt;
        else&lt;br /&gt;
                #echo &amp;quot;Not found: &amp;quot; $ipad&lt;br /&gt;
                timeout 2 ping -c 1 $addr &amp;gt; /dev/null&lt;br /&gt;
                res=$?&lt;br /&gt;
                ii=&amp;quot;i&amp;quot;$ipad&amp;quot;i&amp;quot;&lt;br /&gt;
                if [[ $res == 0 ]]; then&lt;br /&gt;
                        #echo $ii&lt;br /&gt;
                        #iparr+=($ipad)&lt;br /&gt;
                        iparr+=($ii)&lt;br /&gt;
                        #echo &amp;quot;add to good: &amp;quot;$ii&lt;br /&gt;
                        return 0&lt;br /&gt;
                else&lt;br /&gt;
                        ipbad+=($ii)&lt;br /&gt;
                        #echo &amp;quot;add to bad: &amp;quot;$ii &amp;quot;, old: &amp;quot;${ipbad[@]}&lt;br /&gt;
                        return 1&lt;br /&gt;
                fi&lt;br /&gt;
                #echo &amp;quot;no&amp;quot;&lt;br /&gt;
        fi&lt;br /&gt;
 }&lt;br /&gt;
 &lt;br /&gt;
 parsezone () {&lt;br /&gt;
        zone=$1&lt;br /&gt;
        #echo &amp;quot;Zone: &amp;quot; $zone&lt;br /&gt;
        fname=&amp;quot;/var/named/$1.db&amp;quot;&lt;br /&gt;
        #echo &amp;quot;Name: &amp;quot; $fname&lt;br /&gt;
        parsed=($(named-checkzone -q -i none -s full -D $1 /var/named/$1.db | egrep &amp;quot;IN SOA|IN A&amp;quot;))&lt;br /&gt;
        #for i in `named-checkzone -q -i none -s full -D $1 /var/named/$1.db | egrep &amp;quot;IN SOA|IN A&amp;quot;`&lt;br /&gt;
        #do&lt;br /&gt;
        #       echo &amp;quot;u: &amp;quot; $i&lt;br /&gt;
        #done&lt;br /&gt;
 &lt;br /&gt;
 &lt;br /&gt;
        #echo &amp;quot;Parsed: &amp;quot; $parsed&lt;br /&gt;
        for i in ${parsed[@]}&lt;br /&gt;
        do&lt;br /&gt;
                #echo &amp;quot;z: &amp;quot; $zone &amp;quot;i: &amp;quot; $i&lt;br /&gt;
                if [[ $i == *&amp;quot;SOA&amp;quot;* ]]; then&lt;br /&gt;
                        ser=$(echo $i|awk &amp;#039;{print $7}&amp;#039;)&lt;br /&gt;
                        #echo &amp;quot;Ser: &amp;quot; $ser&lt;br /&gt;
                elif [[ $i == *&amp;quot;IN A&amp;quot;* ]]; then&lt;br /&gt;
                        host=$(echo $i|awk &amp;#039;{print $1}&amp;#039;)&lt;br /&gt;
                        addr=$(echo $i|awk &amp;#039;{print $5}&amp;#039;)&lt;br /&gt;
                        #echo &amp;quot;Pinging: *&amp;quot;$addr&amp;quot;*&amp;quot;&lt;br /&gt;
                        #timeout 3 ping -c 1 $addr #&amp;gt; /dev/null&lt;br /&gt;
                        checkip $addr&lt;br /&gt;
                        res=$?&lt;br /&gt;
                        let changed+=($res)&lt;br /&gt;
                        if [[ $res &amp;gt; 0 ]]; then&lt;br /&gt;
                                toblock+=($addr)&lt;br /&gt;
                        fi&lt;br /&gt;
                        #echo &amp;quot;Host: &amp;quot; $host &amp;quot;Addr: &amp;quot; $addr &amp;quot;Res: &amp;quot; $res&lt;br /&gt;
                fi&lt;br /&gt;
        done&lt;br /&gt;
        #echo &amp;quot;Block: &amp;quot; $toblock&lt;br /&gt;
        #echo &amp;quot;Parsed: &amp;quot; ${parsed[@]}&lt;br /&gt;
        #sers=$(echo $parsed|grep SOA|awk &amp;#039;{print $7}&amp;#039;)&lt;br /&gt;
        #sers=$(echo $parsed|grep SOA)&lt;br /&gt;
        #arec=$(echo $parsed|grep &amp;quot;IN A&amp;quot;)&lt;br /&gt;
        #echo &amp;quot;ser: &amp;quot; $sers&lt;br /&gt;
        #echo ${arec[@]}&lt;br /&gt;
        #for i in &amp;quot;${arec[@]}&amp;quot;&lt;br /&gt;
        #do&lt;br /&gt;
        #       echo &amp;quot;As: &amp;quot; $i&lt;br /&gt;
        #done&lt;br /&gt;
 }&lt;br /&gt;
 &lt;br /&gt;
 updatezone () {&lt;br /&gt;
        uzone=$1&lt;br /&gt;
        zname=$2&lt;br /&gt;
        newser=$((ser+1))&lt;br /&gt;
        #echo &amp;quot;old ser&amp;quot; $ser&lt;br /&gt;
        #echo &amp;quot;new ser&amp;quot; $newser&lt;br /&gt;
        cp $zname /root/scripts/&lt;br /&gt;
 &lt;br /&gt;
        sed -i &amp;quot;s/$ser/$newser/&amp;quot; $zname   # update serial&lt;br /&gt;
        infile=$(cat $zname)&lt;br /&gt;
        #outfile=&amp;quot;z.z&amp;quot;&lt;br /&gt;
        outfile=tempfile&lt;br /&gt;
        &amp;gt; $outfile&lt;br /&gt;
        #echo $infile&lt;br /&gt;
        for f1 in $infile&lt;br /&gt;
        do&lt;br /&gt;
                #echo &amp;quot; - &amp;quot;$f1&lt;br /&gt;
                newline=$f1&lt;br /&gt;
                if [[ &amp;quot;${f1:0:1}&amp;quot; == &amp;quot;;&amp;quot; ]] &amp;amp;&amp;amp; [[ $f1 == *&amp;quot;IN A&amp;quot;* ]] ; then&lt;br /&gt;
                        fip=$(echo $f1|awk &amp;#039;{print $4}&amp;#039;)&lt;br /&gt;
                        #echo &amp;quot;add: &amp;quot;$fip&lt;br /&gt;
                        if ! [[ &amp;quot;${ipbad[@]}&amp;quot; =~ &amp;quot;i${fip}i&amp;quot; ]]; then&lt;br /&gt;
                                #echo &amp;quot;remove from bad&amp;quot; $fip&lt;br /&gt;
                                newline=$(echo $f1|sed -r &amp;#039;s/^.{1}//&amp;#039;)&lt;br /&gt;
                                #echo &amp;quot;new: &amp;quot;$newline&lt;br /&gt;
                        fi&lt;br /&gt;
                elif [[ $f1 == *&amp;quot;IN A&amp;quot;*  ]]; then&lt;br /&gt;
                        fip=$(echo $f1|awk &amp;#039;{print $4}&amp;#039;)&lt;br /&gt;
                        #echo &amp;quot;add: &amp;quot;$fip&lt;br /&gt;
                        if ! [[ &amp;quot;${iparr[@]}&amp;quot; =~ &amp;quot;i${fip}i&amp;quot; ]]; then&lt;br /&gt;
                                #echo &amp;quot;remove from good&amp;quot; $fip&lt;br /&gt;
                                newline=&amp;quot;;&amp;quot;$f1&lt;br /&gt;
                                #echo &amp;quot;new: &amp;quot;$newline&lt;br /&gt;
                        fi&lt;br /&gt;
                fi&lt;br /&gt;
                echo $newline &amp;gt;&amp;gt; $outfile&lt;br /&gt;
        done&lt;br /&gt;
        cat $outfile &amp;gt; $zname&lt;br /&gt;
 }&lt;br /&gt;
 &lt;br /&gt;
 IFS=&amp;#039;&lt;br /&gt;
 &amp;#039;&lt;br /&gt;
 &lt;br /&gt;
 #zone=&amp;quot;eye-t.co.il&amp;quot;&lt;br /&gt;
 getzones&lt;br /&gt;
 #echo $zones&lt;br /&gt;
 &lt;br /&gt;
 #if [ ! -d $backupdir ]; then&lt;br /&gt;
 #       echo &amp;quot;nofolder&amp;quot;&lt;br /&gt;
 #       mkdir $backupdir&lt;br /&gt;
 #fi&lt;br /&gt;
 &lt;br /&gt;
 curdate=$(date +&amp;quot;%Y%m%d-%H%M%S&amp;quot;)&lt;br /&gt;
 &lt;br /&gt;
 #echo $curdate&lt;br /&gt;
 &lt;br /&gt;
 for zone in &amp;quot;${zones[@]}&amp;quot;&lt;br /&gt;
 do&lt;br /&gt;
        changed=0&lt;br /&gt;
        toblock=()&lt;br /&gt;
        toallow=()&lt;br /&gt;
 &lt;br /&gt;
        parsezone $zone&lt;br /&gt;
        #echo $fname&lt;br /&gt;
        findoffs $fname&lt;br /&gt;
        #echo &amp;quot;change: &amp;quot; $changed&lt;br /&gt;
        #echo &amp;quot;good: &amp;quot; ${iparr[@]}&lt;br /&gt;
        #echo &amp;quot;bad: &amp;quot; ${ipbad[@]}&lt;br /&gt;
        if [[ $changed &amp;gt; 0 ]]; then&lt;br /&gt;
                if [ ! -d $backupdir/$curdate ]; then&lt;br /&gt;
                        mkdir $backupdir/$curdate -p&lt;br /&gt;
                fi&lt;br /&gt;
                echo &amp;quot;zone: &amp;quot; $zone &amp;quot;changed!!!&amp;quot;&lt;br /&gt;
                cp $fname $backupdir/$curdate/&lt;br /&gt;
                updatezone $zone $fname&lt;br /&gt;
        fi&lt;br /&gt;
 done&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Get all CFS users ==&lt;br /&gt;
&lt;br /&gt;
After login, save the cookie.&lt;br /&gt;
&lt;br /&gt;
Get all organizations:&lt;br /&gt;
 curl --cookie &amp;quot;cwmid=001; PHPSESSID=xxx&amp;quot; &amp;quot;https://null.cloudwm.com/svc/fileserver/groups?size=500&amp;amp;sortBy=name&amp;amp;sortAsc=true&amp;amp;filter=&amp;amp;from=&amp;quot;|jq -r &amp;#039;(map(values))[]&amp;#039;|grep &amp;quot;\&amp;quot;id&amp;quot;|cut -d&amp;quot;\&amp;quot;&amp;quot; -f4&lt;br /&gt;
&lt;br /&gt;
Get users of an organization:&lt;br /&gt;
 curl --cookie &amp;quot;cwmid=001; PHPSESSID=xxx&amp;quot; &amp;quot;https://null.cloudwm.com/svc/fileserver/group/$i&amp;quot;|jq -r &amp;#039;(map(values))[]&amp;#039;|grep &amp;quot;email&amp;quot;|cut -d&amp;quot;\&amp;quot;&amp;quot; -f4&lt;br /&gt;
&lt;br /&gt;
Get full list of all users:&lt;br /&gt;
 IFS=$&amp;#039;\n&amp;#039; ; for i in `curl --cookie &amp;quot;cwmid=001; PHPSESSID=xxx&amp;quot; &amp;quot;https://null.cloudwm.com/svc/fileserver/groups?size=500&amp;amp;sortBy=name&amp;amp;sortAsc=true&amp;amp;filter=&amp;amp;from=&amp;quot;|jq -r &amp;#039;(map(values))[]&amp;#039;|grep &amp;quot;\&amp;quot;id&amp;quot;|cut -d&amp;quot;\&amp;quot;&amp;quot; -f4`; do z=$(echo $i|sed &amp;#039;s/ /%20/g&amp;#039;) ; curl --cookie &amp;quot;cwmid=001; PHPSESSID=xxx&amp;quot; &amp;quot;https://null.cloudwm.com/svc/fileserver/group/$z&amp;quot;|jq -r &amp;#039;(map(values))[]&amp;#039;|grep &amp;quot;email&amp;quot;|cut -d&amp;quot;\&amp;quot;&amp;quot; -f4;done&lt;/div&gt;</summary>
		<author><name>Meadmin</name></author>	</entry>

	<entry>
		<id>https://mywiki.romanost.co.il/index.php?title=Scripts&amp;diff=51</id>
		<title>Scripts</title>
		<link rel="alternate" type="text/html" href="https://mywiki.romanost.co.il/index.php?title=Scripts&amp;diff=51"/>
				<updated>2018-05-22T13:15:49Z</updated>
		
		<summary type="html">&lt;p&gt;Meadmin: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&lt;br /&gt;
== Flying replication ==&lt;br /&gt;
&lt;br /&gt;
 rsync -avz 192.168.1.122:/usr/local/apache/conf/ /usr/local/apache/conf/ --delete&lt;br /&gt;
 rsync -avz 192.168.1.122:/var/named/ /var/named/ --delete&lt;br /&gt;
 rsync -avz 192.168.1.122:/usr/local/cpanel/ /usr/local/cpanel/ --delete&lt;br /&gt;
 rsync -avz 192.168.1.122:/var/cpanel/ /var/cpanel --delete&lt;br /&gt;
 &lt;br /&gt;
 for x in `cat /etc/trueuserowners|grep -v &amp;quot;#&amp;quot;|cut -d: -f1`;do /usr/local/cpanel/bin/setsiteip -u $x `hostname -i` ;done;  &lt;br /&gt;
 &lt;br /&gt;
 /scripts/rebuildhttpdconf&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== WHM replication to clean server ==&lt;br /&gt;
&lt;br /&gt;
 #!/bin/bash&lt;br /&gt;
 rsync -avz 192.168.1.21:/etc/apache2/conf/ /etc/httpd/conf/&lt;br /&gt;
 rsync -avz 192.168.1.21:/var/cpanel/ssl/installed/ /etc/ssl/certs/&lt;br /&gt;
 rsync -avz 192.168.1.21:/etc/apache2/conf.d/includes/ /etc/httpd/conf.d/includes/&lt;br /&gt;
 rsync -avz 192.168.1.21:/var/cpanel/ssl/cpanel/ /etc/ssl/certs/cpanel/&lt;br /&gt;
 sed -i &amp;quot;s/192.168.1.21/`hostname -i`/g&amp;quot; /etc/httpd/conf/httpd.conf&lt;br /&gt;
 sed -i &amp;quot;s/\/var\/cpanel\/ssl\/installed\//\/etc\/ssl\/certs\//g&amp;quot; /etc/httpd/conf/httpd.conf&lt;br /&gt;
 sed -i &amp;quot;s/\/etc\/apache2\//\/etc\/httpd\//g&amp;quot; /etc/httpd/conf/httpd.conf&lt;br /&gt;
 sed -i &amp;quot;s/RewriteMap LeechProtect/\#RewriteMap LeechProtect/g&amp;quot; /etc/httpd/conf/httpd.conf&lt;br /&gt;
 sed -i &amp;quot;s/Mutex file:\/run\/apache2/\#Mutex file:\/run\/apache2/g&amp;quot; /etc/httpd/conf/httpd.conf&lt;br /&gt;
 sed -i &amp;quot;s/apache2/httpd/g&amp;quot; /etc/httpd/conf/httpd.conf&lt;br /&gt;
 sed -i &amp;quot;s/\/var\/cpanel\/ssl\/cpanel\//\/etc\/ssl\/certs\/cpanel\//g&amp;quot; /etc/httpd/conf/httpd.conf&lt;br /&gt;
 sed -i &amp;quot;s/Listen \[\:\:\]\:80/\#Listen \[\:\:\]\:80/g&amp;quot; /etc/httpd/conf/httpd.conf&lt;br /&gt;
 &lt;br /&gt;
 rsync -avz 192.168.1.21:/opt/cpanel/ea-php55/root/etc/php.ini /etc/&lt;br /&gt;
 rsync -avz 192.168.1.21:/etc/passwd /tmp/passwd&lt;br /&gt;
 rsync -avz 192.168.1.21:/etc/group /tmp/group&lt;br /&gt;
 &lt;br /&gt;
 var1=`cat /etc/passwd |awk -F &amp;#039;:&amp;#039; &amp;#039;$3 &amp;gt; 1000 &amp;amp;&amp;amp; $3 &amp;lt; 2000 {print $0}&amp;#039;`&lt;br /&gt;
 var2=`cat /tmp/passwd |awk -F &amp;#039;:&amp;#039; &amp;#039;$3 &amp;gt; 1000 &amp;amp;&amp;amp; $3 &amp;lt; 2000 {print $0}&amp;#039;`&lt;br /&gt;
 &lt;br /&gt;
 c1=`cat /etc/passwd |awk -F &amp;#039;:&amp;#039; &amp;#039;$3 &amp;gt; 1000 &amp;amp;&amp;amp; $3 &amp;lt; 2000 {print $0}&amp;#039;|wc -l`&lt;br /&gt;
 c2=`cat /tmp/passwd |awk -F &amp;#039;:&amp;#039; &amp;#039;$3 &amp;gt; 1000 &amp;amp;&amp;amp; $3 &amp;lt; 2000 {print $0}&amp;#039;|wc -l`&lt;br /&gt;
 &lt;br /&gt;
 if [ $c2 -gt $c1 ]; then&lt;br /&gt;
        newone=`comm --nocheck-order -13 &amp;lt;(echo $var1) &amp;lt;(echo $var2)`&lt;br /&gt;
        echo $newone &amp;gt;&amp;gt; /etc/passwd&lt;br /&gt;
 fi&lt;br /&gt;
 &lt;br /&gt;
 var1=`cat /etc/group |awk -F &amp;#039;:&amp;#039; &amp;#039;$3 &amp;gt; 1000 &amp;amp;&amp;amp; $3 &amp;lt; 2000 {print $0}&amp;#039;`&lt;br /&gt;
 var2=`cat /tmp/group |awk -F &amp;#039;:&amp;#039; &amp;#039;$3 &amp;gt; 1000 &amp;amp;&amp;amp; $3 &amp;lt; 2000 {print $0}&amp;#039;`&lt;br /&gt;
 &lt;br /&gt;
 c1=`cat /etc/group |awk -F &amp;#039;:&amp;#039; &amp;#039;$3 &amp;gt; 1000 &amp;amp;&amp;amp; $3 &amp;lt; 2000 {print $0}&amp;#039;|wc -l`&lt;br /&gt;
 c2=`cat /tmp/group |awk -F &amp;#039;:&amp;#039; &amp;#039;$3 &amp;gt; 1000 &amp;amp;&amp;amp; $3 &amp;lt; 2000 {print $0}&amp;#039;|wc -l`&lt;br /&gt;
 &lt;br /&gt;
 if [ $c2 -gt $c1 ]; then&lt;br /&gt;
        newone=`comm --nocheck-order -13 &amp;lt;(echo $var1) &amp;lt;(echo $var2)`&lt;br /&gt;
        echo $newone &amp;gt;&amp;gt; /etc/group&lt;br /&gt;
 fi&lt;br /&gt;
&lt;br /&gt;
== WHM replicate suphp to clean server ==&lt;br /&gt;
&lt;br /&gt;
 scp /usr/lib64/httpd/modules/mod_suphp.so 172.18.0.6:/usr/lib64/httpd/modules/&lt;br /&gt;
 scp /etc/httpd/conf.modules.d/90-suphp.conf 172.18.0.6:/etc/httpd/conf.modules.d/&lt;br /&gt;
 scp /usr/lib64/httpd/modules/mod_suphp.so 172.18.0.6:/usr/lib64/httpd/modules/&lt;br /&gt;
 scp /usr/sbin/suphp 172.18.0.6:/usr/sbin/&lt;br /&gt;
 scp /etc/suphp.conf 172.18.0.6:/etc/&lt;br /&gt;
 scp /etc/httpd/conf.d/php.conf 172.18.0.6:/etc/httpd/conf.d/&lt;br /&gt;
 scp /etc/httpd/conf.modules.d/10-php.conf 172.18.0.6:/etc/httpd/conf.modules.d/&lt;br /&gt;
 &lt;br /&gt;
 chown root.nobody /usr/sbin/suphp&lt;br /&gt;
 chmod 4750 /usr/sbin/suphp&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Sync nginx conf ==&lt;br /&gt;
&lt;br /&gt;
 #!/bin/bash&lt;br /&gt;
 &lt;br /&gt;
 servs=(192.168.0.11 192.168.0.12 192.168.0.15 192.168.0.16 192.168.0.17 192.168.0.19 192.168.0.20 192.168.0.21 192.168.0.22 192.168.0.23 192.168.0.24 192.168.0.26 192.168.0.115 192.168.0.116 192.168.0.117 192.168.0.118 192.168.0.29 192.168.0.30)&lt;br /&gt;
 &lt;br /&gt;
 for i in &amp;quot;${servs[@]}&amp;quot;&lt;br /&gt;
 do&lt;br /&gt;
        echo $i&lt;br /&gt;
        scp nginx_conf/nginx.conf $i:/etc/nginx/&lt;br /&gt;
        scp nginx_conf/.htpasswd $i:/etc/nginx/&lt;br /&gt;
        scp -r nginx_conf/conf.d $i:/etc/nginx/&lt;br /&gt;
        ssh $i &amp;#039;sed -i &amp;quot;s/Lxxx/`echo L\`hostname|cut -d &amp;quot;-&amp;quot; -f1|sed &amp;quot;s/web//&amp;quot;\``/g&amp;quot; /etc/nginx/conf.d/* &amp;amp;&amp;amp; service nginx restart&amp;#039;&lt;br /&gt;
 done&lt;br /&gt;
&lt;br /&gt;
== Manage CWM auto start and stop server ==&lt;br /&gt;
&lt;br /&gt;
 #!/bin/bash&lt;br /&gt;
 . keys.sh&lt;br /&gt;
 &lt;br /&gt;
 &lt;br /&gt;
 minservs=4&lt;br /&gt;
 maxservs=8&lt;br /&gt;
 locon=2500&lt;br /&gt;
 hicon=8000&lt;br /&gt;
 &lt;br /&gt;
 servs=($serv_01 $serv_02 $serv_03 $serv_04 $serv_05 $serv_06 $serv_07 $serv_08)&lt;br /&gt;
 onservs=0&lt;br /&gt;
 conns=0&lt;br /&gt;
 #echo ${servs[@]}&lt;br /&gt;
 &lt;br /&gt;
 for i in &amp;quot;${servs[@]}&amp;quot;&lt;br /&gt;
 do&lt;br /&gt;
        readarray -t values &amp;lt; &amp;lt;(curl -s -H &amp;quot;AuthClientId: ${clientId}&amp;quot; -H &amp;quot;AuthSecret: ${secret}&amp;quot; &amp;quot;https://console.cloudwm.com/service/server/${i}&amp;quot;|/root/api/jq -r &amp;#039;(map(values))[]&amp;#039;) # | egrep &amp;quot;power|ip&amp;quot;&lt;br /&gt;
        #echo ${values[6]} ##power&lt;br /&gt;
        #echo ${values[14]} |sed &amp;#039;s/\&amp;quot;//g&amp;#039; ##ips&lt;br /&gt;
        if [ ${values[6]} == &amp;#039;on&amp;#039; ]; then &lt;br /&gt;
                #onservs=$((onservs+1))&lt;br /&gt;
                ((onservs++))&lt;br /&gt;
                ip=$(echo ${values[14]} |tr -d \&amp;quot;\&amp;#039;\&amp;quot;,\&amp;quot;) ##ips&lt;br /&gt;
                curcon=$(ssh $ip &amp;quot;netstat -ant | grep :80 | wc -l&amp;quot;)&lt;br /&gt;
                #echo $ip , $curcon&lt;br /&gt;
                conns=$((conns+curcon))&lt;br /&gt;
        fi&lt;br /&gt;
        #declare -p values&lt;br /&gt;
 done&lt;br /&gt;
 &lt;br /&gt;
 #echo &amp;quot;On servers: &amp;quot; $onservs&lt;br /&gt;
 #echo &amp;quot;Connections: &amp;quot; $conns&lt;br /&gt;
 &lt;br /&gt;
 mid=$((conns/onservs))&lt;br /&gt;
 #echo &amp;quot;mid: &amp;quot; $mid&lt;br /&gt;
 &lt;br /&gt;
 if [[ $mid &amp;gt; $hicon ]] &amp;amp;&amp;amp; [[ $onservs &amp;lt; $maxservs ]]; then   ## power on +1&lt;br /&gt;
        #echo &amp;quot;hi&amp;quot;&lt;br /&gt;
        srv=${servs[onservs]}&lt;br /&gt;
        #echo $srv&lt;br /&gt;
        curl -s -H &amp;quot;AuthClientId: ${clientId}&amp;quot; -H &amp;quot;AuthSecret: ${secret}&amp;quot; -X PUT -d &amp;quot;power=on&amp;quot; &amp;quot;https://console.cloudwm.com/service/server/${srv}/power&amp;quot;&lt;br /&gt;
 &lt;br /&gt;
 elif [[ $mid &amp;lt; $locon ]] &amp;amp;&amp;amp; [[ $onservs &amp;gt; $minservs ]]; then   ## power off -1&lt;br /&gt;
        #echo &amp;quot;lo&amp;quot; $onservs&lt;br /&gt;
        srv=${servs[onservs-1]}&lt;br /&gt;
        #echo $srv&lt;br /&gt;
        curl -s -H &amp;quot;AuthClientId: ${clientId}&amp;quot; -H &amp;quot;AuthSecret: ${secret}&amp;quot; -X PUT -d &amp;quot;power=off&amp;quot; &amp;quot;https://console.cloudwm.com/service/server/${srv}/power&amp;quot;&lt;br /&gt;
 fi&lt;br /&gt;
&lt;br /&gt;
== SQL dump ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
 #!/bin/bash&lt;br /&gt;
 &lt;br /&gt;
 retain=7                                ## days to keep&lt;br /&gt;
 logdir=&amp;quot;/var/www/html/sqlbackups/&amp;quot;      ## dumps folder&lt;br /&gt;
 prename=&amp;quot;db_Backup&amp;quot;                     ## name prefix&lt;br /&gt;
 postname=&amp;quot;.sql.gz&amp;quot;                      ## name suffix&lt;br /&gt;
 mailaddr=&amp;quot;eitani@gmail.com&amp;quot;&lt;br /&gt;
 &lt;br /&gt;
 dumpcmd=&amp;quot;mysqldump --all-databases&amp;quot;&lt;br /&gt;
 date=`date +&amp;quot;%d%b%y&amp;quot;`&lt;br /&gt;
 tmst=&amp;#039;date +%Y%m%d-%H%M%S.%N&amp;#039;&lt;br /&gt;
 outstr=&amp;quot;[`$tmst`]: Dump started\n&amp;quot;&lt;br /&gt;
 &lt;br /&gt;
 fullname=$logdir$prename&amp;quot;_&amp;quot;$date$postname&lt;br /&gt;
 &lt;br /&gt;
 if [ -z &amp;quot;$logdir&amp;quot; ]; then&lt;br /&gt;
        outstr=$outstr&amp;quot;[`$tmst`]: Log directory not set\n&amp;quot;&lt;br /&gt;
        out=1&lt;br /&gt;
 else&lt;br /&gt;
        outstr=$outstr&amp;quot;[`$tmst`]: Running dump $dumpcmd | gzip -c &amp;gt; $fullname\n&amp;quot;&lt;br /&gt;
        $dumpcmd | gzip -c &amp;gt; $fullname&lt;br /&gt;
        out=$?&lt;br /&gt;
 fi&lt;br /&gt;
 &lt;br /&gt;
 if &amp;lt;nowiki&amp;gt;[[ $out = 0 ]]; then &amp;lt;/nowiki&amp;gt;&lt;br /&gt;
        outstr=$outstr&amp;quot;[`$tmst`]: Dump done, file: $fullname\n&amp;quot;&lt;br /&gt;
        outstr=$outstr&amp;quot;[`$tmst`]: Deleting old backups (older than $retain days) from folder: $logdir\n&amp;quot;&lt;br /&gt;
        outstr=$outstr&amp;quot;[`$tmst`]: Files to be deleted: `find $logdir -type f -mtime +$retain `\n&amp;quot;&lt;br /&gt;
        `find $logdir -type f -mtime +$retain -exec rm {} \;`&lt;br /&gt;
 else&lt;br /&gt;
        outstr=$outstr&amp;quot;[`$tmst`]: Dump failed\n&amp;quot;&lt;br /&gt;
 fi&lt;br /&gt;
 &lt;br /&gt;
 outstr=$outstr&amp;quot;[`$tmst`]: Script done\n&amp;quot;&lt;br /&gt;
 &lt;br /&gt;
 #echo -e $outstr&lt;br /&gt;
 &lt;br /&gt;
 mailtxt=&amp;quot;Subject: SQLdump on webbit server\nFrom: script@webbit.web\nTo: $mailaddr\n\n$outstr&amp;quot;&lt;br /&gt;
 echo -e $mailtxt | sendmail -t&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Check DNS zones ==&lt;br /&gt;
&lt;br /&gt;
 #!/bin/bash&lt;br /&gt;
 &lt;br /&gt;
 iparr=()&lt;br /&gt;
 ipbad=()&lt;br /&gt;
 &lt;br /&gt;
 tempfile=&amp;quot;/tmp/zonetempfile.db&amp;quot;&lt;br /&gt;
 backupdir=&amp;quot;/root/oldzones&amp;quot;&lt;br /&gt;
 &lt;br /&gt;
 getzones () {&lt;br /&gt;
        zones=($(find /var/named/*.db -printf &amp;#039;%f\n&amp;#039;|sed &amp;#039;s/\.db//g&amp;#039;))&lt;br /&gt;
        #echo $zones&lt;br /&gt;
 }&lt;br /&gt;
 &lt;br /&gt;
 findoffs () {&lt;br /&gt;
        fl=$1&lt;br /&gt;
        a=()&lt;br /&gt;
        #echo &amp;quot;File: &amp;quot; $fl&lt;br /&gt;
        #cat $fl | while read line&lt;br /&gt;
        #do&lt;br /&gt;
        while read -r line&lt;br /&gt;
        do&lt;br /&gt;
                #echo &amp;quot;line: &amp;quot;$line&lt;br /&gt;
  &amp;lt;nowiki&amp;gt;              if [[ &amp;quot;${line:0:1}&amp;quot; == &amp;quot;;&amp;quot; ]] &amp;amp;&amp;amp; [[ $line == *&amp;quot;IN A&amp;quot;* ]] ; then&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
                        addr=$(echo $line|awk &amp;#039;{print $4}&amp;#039;)&lt;br /&gt;
                        #echo &amp;quot;adr:&amp;quot; $addr&lt;br /&gt;
                        checkip $addr&lt;br /&gt;
                        #echo done&lt;br /&gt;
                        changed+=($res)&lt;br /&gt;
                fi&lt;br /&gt;
        done &amp;lt; &amp;lt;(cat $fl)&lt;br /&gt;
        #done&lt;br /&gt;
 }&lt;br /&gt;
 &lt;br /&gt;
 checkip () {&lt;br /&gt;
        ipad=$1&lt;br /&gt;
        #echo $ipad&lt;br /&gt;
        if [[ &amp;quot;${iparr[@]}&amp;quot; =~ &amp;quot;i${ipad}i&amp;quot; ]]; then&lt;br /&gt;
        #if [[ &amp;quot;${iparr[@]}&amp;quot; == &amp;quot;${ipad}&amp;quot; ]]; then&lt;br /&gt;
                #echo &amp;quot;Found: &amp;quot; $ipad&lt;br /&gt;
                return 0&lt;br /&gt;
        elif [[ &amp;quot;${ipbad[@]}&amp;quot; =~ &amp;quot;i${ipad}i&amp;quot; ]]; then&lt;br /&gt;
                #echo &amp;quot;found bad: &amp;quot; $ipad&lt;br /&gt;
                return 1&lt;br /&gt;
        else&lt;br /&gt;
                #echo &amp;quot;Not found: &amp;quot; $ipad&lt;br /&gt;
                timeout 2 ping -c 1 $addr &amp;gt; /dev/null&lt;br /&gt;
                res=$?&lt;br /&gt;
                ii=&amp;quot;i&amp;quot;$ipad&amp;quot;i&amp;quot;&lt;br /&gt;
                if [[ $res == 0 ]]; then&lt;br /&gt;
                        #echo $ii&lt;br /&gt;
                        #iparr+=($ipad)&lt;br /&gt;
                        iparr+=($ii)&lt;br /&gt;
                        #echo &amp;quot;add to good: &amp;quot;$ii&lt;br /&gt;
                        return 0&lt;br /&gt;
                else&lt;br /&gt;
                        ipbad+=($ii)&lt;br /&gt;
                        #echo &amp;quot;add to bad: &amp;quot;$ii &amp;quot;, old: &amp;quot;${ipbad[@]}&lt;br /&gt;
                        return 1&lt;br /&gt;
                fi&lt;br /&gt;
                #echo &amp;quot;no&amp;quot;&lt;br /&gt;
        fi&lt;br /&gt;
 }&lt;br /&gt;
 &lt;br /&gt;
 parsezone () {&lt;br /&gt;
        zone=$1&lt;br /&gt;
        #echo &amp;quot;Zone: &amp;quot; $zone&lt;br /&gt;
        fname=&amp;quot;/var/named/$1.db&amp;quot;&lt;br /&gt;
        #echo &amp;quot;Name: &amp;quot; $fname&lt;br /&gt;
        parsed=($(named-checkzone -q -i none -s full -D $1 /var/named/$1.db | egrep &amp;quot;IN SOA|IN A&amp;quot;))&lt;br /&gt;
        #for i in `named-checkzone -q -i none -s full -D $1 /var/named/$1.db | egrep &amp;quot;IN SOA|IN A&amp;quot;`&lt;br /&gt;
        #do&lt;br /&gt;
        #       echo &amp;quot;u: &amp;quot; $i&lt;br /&gt;
        #done&lt;br /&gt;
 &lt;br /&gt;
 &lt;br /&gt;
        #echo &amp;quot;Parsed: &amp;quot; $parsed&lt;br /&gt;
        for i in ${parsed[@]}&lt;br /&gt;
        do&lt;br /&gt;
                #echo &amp;quot;z: &amp;quot; $zone &amp;quot;i: &amp;quot; $i&lt;br /&gt;
                if [[ $i == *&amp;quot;SOA&amp;quot;* ]]; then&lt;br /&gt;
                        ser=$(echo $i|awk &amp;#039;{print $7}&amp;#039;)&lt;br /&gt;
                        #echo &amp;quot;Ser: &amp;quot; $ser&lt;br /&gt;
                elif [[ $i == *&amp;quot;IN A&amp;quot;* ]]; then&lt;br /&gt;
                        host=$(echo $i|awk &amp;#039;{print $1}&amp;#039;)&lt;br /&gt;
                        addr=$(echo $i|awk &amp;#039;{print $5}&amp;#039;)&lt;br /&gt;
                        #echo &amp;quot;Pinging: *&amp;quot;$addr&amp;quot;*&amp;quot;&lt;br /&gt;
                        #timeout 3 ping -c 1 $addr #&amp;gt; /dev/null&lt;br /&gt;
                        checkip $addr&lt;br /&gt;
                        res=$?&lt;br /&gt;
                        let changed+=($res)&lt;br /&gt;
                        if [[ $res &amp;gt; 0 ]]; then&lt;br /&gt;
                                toblock+=($addr)&lt;br /&gt;
                        fi&lt;br /&gt;
                        #echo &amp;quot;Host: &amp;quot; $host &amp;quot;Addr: &amp;quot; $addr &amp;quot;Res: &amp;quot; $res&lt;br /&gt;
                fi&lt;br /&gt;
        done&lt;br /&gt;
        #echo &amp;quot;Block: &amp;quot; $toblock&lt;br /&gt;
        #echo &amp;quot;Parsed: &amp;quot; ${parsed[@]}&lt;br /&gt;
        #sers=$(echo $parsed|grep SOA|awk &amp;#039;{print $7}&amp;#039;)&lt;br /&gt;
        #sers=$(echo $parsed|grep SOA)&lt;br /&gt;
        #arec=$(echo $parsed|grep &amp;quot;IN A&amp;quot;)&lt;br /&gt;
        #echo &amp;quot;ser: &amp;quot; $sers&lt;br /&gt;
        #echo ${arec[@]}&lt;br /&gt;
        #for i in &amp;quot;${arec[@]}&amp;quot;&lt;br /&gt;
        #do&lt;br /&gt;
        #       echo &amp;quot;As: &amp;quot; $i&lt;br /&gt;
        #done&lt;br /&gt;
 }&lt;br /&gt;
 &lt;br /&gt;
 updatezone () {&lt;br /&gt;
        uzone=$1&lt;br /&gt;
        zname=$2&lt;br /&gt;
        newser=$((ser+1))&lt;br /&gt;
        #echo &amp;quot;old ser&amp;quot; $ser&lt;br /&gt;
        #echo &amp;quot;new ser&amp;quot; $newser&lt;br /&gt;
        cp $zname /root/scripts/&lt;br /&gt;
 &lt;br /&gt;
        sed -i &amp;quot;s/$ser/$newser/&amp;quot; $zname   # update serial&lt;br /&gt;
        infile=$(cat $zname)&lt;br /&gt;
        #outfile=&amp;quot;z.z&amp;quot;&lt;br /&gt;
        outfile=tempfile&lt;br /&gt;
        &amp;gt; $outfile&lt;br /&gt;
        #echo $infile&lt;br /&gt;
        for f1 in $infile&lt;br /&gt;
        do&lt;br /&gt;
                #echo &amp;quot; - &amp;quot;$f1&lt;br /&gt;
                newline=$f1&lt;br /&gt;
                if [[ &amp;quot;${f1:0:1}&amp;quot; == &amp;quot;;&amp;quot; ]] &amp;amp;&amp;amp; [[ $f1 == *&amp;quot;IN A&amp;quot;* ]] ; then&lt;br /&gt;
                        fip=$(echo $f1|awk &amp;#039;{print $4}&amp;#039;)&lt;br /&gt;
                        #echo &amp;quot;add: &amp;quot;$fip&lt;br /&gt;
                        if ! [[ &amp;quot;${ipbad[@]}&amp;quot; =~ &amp;quot;i${fip}i&amp;quot; ]]; then&lt;br /&gt;
                                #echo &amp;quot;remove from bad&amp;quot; $fip&lt;br /&gt;
                                newline=$(echo $f1|sed -r &amp;#039;s/^.{1}//&amp;#039;)&lt;br /&gt;
                                #echo &amp;quot;new: &amp;quot;$newline&lt;br /&gt;
                        fi&lt;br /&gt;
                elif [[ $f1 == *&amp;quot;IN A&amp;quot;*  ]]; then&lt;br /&gt;
                        fip=$(echo $f1|awk &amp;#039;{print $4}&amp;#039;)&lt;br /&gt;
                        #echo &amp;quot;add: &amp;quot;$fip&lt;br /&gt;
                        if ! [[ &amp;quot;${iparr[@]}&amp;quot; =~ &amp;quot;i${fip}i&amp;quot; ]]; then&lt;br /&gt;
                                #echo &amp;quot;remove from good&amp;quot; $fip&lt;br /&gt;
                                newline=&amp;quot;;&amp;quot;$f1&lt;br /&gt;
                                #echo &amp;quot;new: &amp;quot;$newline&lt;br /&gt;
                        fi&lt;br /&gt;
                fi&lt;br /&gt;
                echo $newline &amp;gt;&amp;gt; $outfile&lt;br /&gt;
        done&lt;br /&gt;
        cat $outfile &amp;gt; $zname&lt;br /&gt;
 }&lt;br /&gt;
 &lt;br /&gt;
 IFS=&amp;#039;&lt;br /&gt;
 &amp;#039;&lt;br /&gt;
 &lt;br /&gt;
 #zone=&amp;quot;eye-t.co.il&amp;quot;&lt;br /&gt;
 getzones&lt;br /&gt;
 #echo $zones&lt;br /&gt;
 &lt;br /&gt;
 #if [ ! -d $backupdir ]; then&lt;br /&gt;
 #       echo &amp;quot;nofolder&amp;quot;&lt;br /&gt;
 #       mkdir $backupdir&lt;br /&gt;
 #fi&lt;br /&gt;
 &lt;br /&gt;
 curdate=$(date +&amp;quot;%Y%m%d-%H%M%S&amp;quot;)&lt;br /&gt;
 &lt;br /&gt;
 #echo $curdate&lt;br /&gt;
 &lt;br /&gt;
 for zone in &amp;quot;${zones[@]}&amp;quot;&lt;br /&gt;
 do&lt;br /&gt;
        changed=0&lt;br /&gt;
        toblock=()&lt;br /&gt;
        toallow=()&lt;br /&gt;
 &lt;br /&gt;
        parsezone $zone&lt;br /&gt;
        #echo $fname&lt;br /&gt;
        findoffs $fname&lt;br /&gt;
        #echo &amp;quot;change: &amp;quot; $changed&lt;br /&gt;
        #echo &amp;quot;good: &amp;quot; ${iparr[@]}&lt;br /&gt;
        #echo &amp;quot;bad: &amp;quot; ${ipbad[@]}&lt;br /&gt;
        if [[ $changed &amp;gt; 0 ]]; then&lt;br /&gt;
                if [ ! -d $backupdir/$curdate ]; then&lt;br /&gt;
                        mkdir $backupdir/$curdate -p&lt;br /&gt;
                fi&lt;br /&gt;
                echo &amp;quot;zone: &amp;quot; $zone &amp;quot;changed!!!&amp;quot;&lt;br /&gt;
                cp $fname $backupdir/$curdate/&lt;br /&gt;
                updatezone $zone $fname&lt;br /&gt;
        fi&lt;br /&gt;
 done&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Get all CFS users ==&lt;br /&gt;
&lt;br /&gt;
After login, save the cookie.&lt;br /&gt;
&lt;br /&gt;
Get all organizations:&lt;br /&gt;
 curl --cookie &amp;quot;cwmid=001; PHPSESSID=xxx&amp;quot; &amp;quot;https://null.cloudwm.com/svc/fileserver/groups?size=500&amp;amp;sortBy=name&amp;amp;sortAsc=true&amp;amp;filter=&amp;amp;from=&amp;quot;|jq -r &amp;#039;(map(values))[]&amp;#039;|grep &amp;quot;\&amp;quot;id&amp;quot;|cut -d&amp;quot;\&amp;quot;&amp;quot; -f4&lt;br /&gt;
&lt;br /&gt;
Get users of an organization:&lt;br /&gt;
 curl --cookie &amp;quot;cwmid=001; PHPSESSID=xxx&amp;quot; &amp;quot;https://null.cloudwm.com/svc/fileserver/group/$i&amp;quot;|jq -r &amp;#039;(map(values))[]&amp;#039;|grep &amp;quot;email&amp;quot;|cut -d&amp;quot;\&amp;quot;&amp;quot; -f4&lt;br /&gt;
&lt;br /&gt;
Get full list of all users:&lt;br /&gt;
 for i in `curl --cookie &amp;quot;cwmid=001; PHPSESSID=xxx&amp;quot; &amp;quot;https://null.cloudwm.com/svc/fileserver/groups?size=500&amp;amp;sortBy=name&amp;amp;sortAsc=true&amp;amp;filter=&amp;amp;from=&amp;quot;|jq -r &amp;#039;(map(values))[]&amp;#039;|grep &amp;quot;\&amp;quot;id&amp;quot;|cut -d&amp;quot;\&amp;quot;&amp;quot; -f4`; do curl --cookie &amp;quot;cwmid=001; PHPSESSID=xxx&amp;quot; &amp;quot;https://null.cloudwm.com/svc/fileserver/group/$i&amp;quot;|jq -r &amp;#039;(map(values))[]&amp;#039;|grep &amp;quot;email&amp;quot;|cut -d&amp;quot;\&amp;quot;&amp;quot; -f4;done&lt;/div&gt;</summary>
		<author><name>Meadmin</name></author>	</entry>

	<entry>
		<id>https://mywiki.romanost.co.il/index.php?title=Scripts&amp;diff=50</id>
		<title>Scripts</title>
		<link rel="alternate" type="text/html" href="https://mywiki.romanost.co.il/index.php?title=Scripts&amp;diff=50"/>
				<updated>2018-05-22T11:54:01Z</updated>
		
		<summary type="html">&lt;p&gt;Meadmin: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&lt;br /&gt;
== Flying replication ==&lt;br /&gt;
&lt;br /&gt;
 rsync -avz 192.168.1.122:/usr/local/apache/conf/ /usr/local/apache/conf/ --delete&lt;br /&gt;
 rsync -avz 192.168.1.122:/var/named/ /var/named/ --delete&lt;br /&gt;
 rsync -avz 192.168.1.122:/usr/local/cpanel/ /usr/local/cpanel/ --delete&lt;br /&gt;
 rsync -avz 192.168.1.122:/var/cpanel/ /var/cpanel --delete&lt;br /&gt;
 &lt;br /&gt;
 for x in `cat /etc/trueuserowners|grep -v &amp;quot;#&amp;quot;|cut -d: -f1`;do /usr/local/cpanel/bin/setsiteip -u $x `hostname -i` ;done;  &lt;br /&gt;
 &lt;br /&gt;
 /scripts/rebuildhttpdconf&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== WHM replication to clean server ==&lt;br /&gt;
&lt;br /&gt;
 #!/bin/bash&lt;br /&gt;
 rsync -avz 192.168.1.21:/etc/apache2/conf/ /etc/httpd/conf/&lt;br /&gt;
 rsync -avz 192.168.1.21:/var/cpanel/ssl/installed/ /etc/ssl/certs/&lt;br /&gt;
 rsync -avz 192.168.1.21:/etc/apache2/conf.d/includes/ /etc/httpd/conf.d/includes/&lt;br /&gt;
 rsync -avz 192.168.1.21:/var/cpanel/ssl/cpanel/ /etc/ssl/certs/cpanel/&lt;br /&gt;
 sed -i &amp;quot;s/192.168.1.21/`hostname -i`/g&amp;quot; /etc/httpd/conf/httpd.conf&lt;br /&gt;
 sed -i &amp;quot;s/\/var\/cpanel\/ssl\/installed\//\/etc\/ssl\/certs\//g&amp;quot; /etc/httpd/conf/httpd.conf&lt;br /&gt;
 sed -i &amp;quot;s/\/etc\/apache2\//\/etc\/httpd\//g&amp;quot; /etc/httpd/conf/httpd.conf&lt;br /&gt;
 sed -i &amp;quot;s/RewriteMap LeechProtect/\#RewriteMap LeechProtect/g&amp;quot; /etc/httpd/conf/httpd.conf&lt;br /&gt;
 sed -i &amp;quot;s/Mutex file:\/run\/apache2/\#Mutex file:\/run\/apache2/g&amp;quot; /etc/httpd/conf/httpd.conf&lt;br /&gt;
 sed -i &amp;quot;s/apache2/httpd/g&amp;quot; /etc/httpd/conf/httpd.conf&lt;br /&gt;
 sed -i &amp;quot;s/\/var\/cpanel\/ssl\/cpanel\//\/etc\/ssl\/certs\/cpanel\//g&amp;quot; /etc/httpd/conf/httpd.conf&lt;br /&gt;
 sed -i &amp;quot;s/Listen \[\:\:\]\:80/\#Listen \[\:\:\]\:80/g&amp;quot; /etc/httpd/conf/httpd.conf&lt;br /&gt;
 &lt;br /&gt;
 rsync -avz 192.168.1.21:/opt/cpanel/ea-php55/root/etc/php.ini /etc/&lt;br /&gt;
 rsync -avz 192.168.1.21:/etc/passwd /tmp/passwd&lt;br /&gt;
 rsync -avz 192.168.1.21:/etc/group /tmp/group&lt;br /&gt;
 &lt;br /&gt;
 var1=`cat /etc/passwd |awk -F &amp;#039;:&amp;#039; &amp;#039;$3 &amp;gt; 1000 &amp;amp;&amp;amp; $3 &amp;lt; 2000 {print $0}&amp;#039;`&lt;br /&gt;
 var2=`cat /tmp/passwd |awk -F &amp;#039;:&amp;#039; &amp;#039;$3 &amp;gt; 1000 &amp;amp;&amp;amp; $3 &amp;lt; 2000 {print $0}&amp;#039;`&lt;br /&gt;
 &lt;br /&gt;
 c1=`cat /etc/passwd |awk -F &amp;#039;:&amp;#039; &amp;#039;$3 &amp;gt; 1000 &amp;amp;&amp;amp; $3 &amp;lt; 2000 {print $0}&amp;#039;|wc -l`&lt;br /&gt;
 c2=`cat /tmp/passwd |awk -F &amp;#039;:&amp;#039; &amp;#039;$3 &amp;gt; 1000 &amp;amp;&amp;amp; $3 &amp;lt; 2000 {print $0}&amp;#039;|wc -l`&lt;br /&gt;
 &lt;br /&gt;
 if [ $c2 -gt $c1 ]; then&lt;br /&gt;
        newone=`comm --nocheck-order -13 &amp;lt;(echo $var1) &amp;lt;(echo $var2)`&lt;br /&gt;
        echo $newone &amp;gt;&amp;gt; /etc/passwd&lt;br /&gt;
 fi&lt;br /&gt;
 &lt;br /&gt;
 var1=`cat /etc/group |awk -F &amp;#039;:&amp;#039; &amp;#039;$3 &amp;gt; 1000 &amp;amp;&amp;amp; $3 &amp;lt; 2000 {print $0}&amp;#039;`&lt;br /&gt;
 var2=`cat /tmp/group |awk -F &amp;#039;:&amp;#039; &amp;#039;$3 &amp;gt; 1000 &amp;amp;&amp;amp; $3 &amp;lt; 2000 {print $0}&amp;#039;`&lt;br /&gt;
 &lt;br /&gt;
 c1=`cat /etc/group |awk -F &amp;#039;:&amp;#039; &amp;#039;$3 &amp;gt; 1000 &amp;amp;&amp;amp; $3 &amp;lt; 2000 {print $0}&amp;#039;|wc -l`&lt;br /&gt;
 c2=`cat /tmp/group |awk -F &amp;#039;:&amp;#039; &amp;#039;$3 &amp;gt; 1000 &amp;amp;&amp;amp; $3 &amp;lt; 2000 {print $0}&amp;#039;|wc -l`&lt;br /&gt;
 &lt;br /&gt;
 if [ $c2 -gt $c1 ]; then&lt;br /&gt;
        newone=`comm --nocheck-order -13 &amp;lt;(echo $var1) &amp;lt;(echo $var2)`&lt;br /&gt;
        echo $newone &amp;gt;&amp;gt; /etc/group&lt;br /&gt;
 fi&lt;br /&gt;
&lt;br /&gt;
== WHM replicate suphp to clean server ==&lt;br /&gt;
&lt;br /&gt;
 scp /usr/lib64/httpd/modules/mod_suphp.so 172.18.0.6:/usr/lib64/httpd/modules/&lt;br /&gt;
 scp /etc/httpd/conf.modules.d/90-suphp.conf 172.18.0.6:/etc/httpd/conf.modules.d/&lt;br /&gt;
 scp /usr/lib64/httpd/modules/mod_suphp.so 172.18.0.6:/usr/lib64/httpd/modules/&lt;br /&gt;
 scp /usr/sbin/suphp 172.18.0.6:/usr/sbin/&lt;br /&gt;
 scp /etc/suphp.conf 172.18.0.6:/etc/&lt;br /&gt;
 scp /etc/httpd/conf.d/php.conf 172.18.0.6:/etc/httpd/conf.d/&lt;br /&gt;
 scp /etc/httpd/conf.modules.d/10-php.conf 172.18.0.6:/etc/httpd/conf.modules.d/&lt;br /&gt;
 &lt;br /&gt;
 chown root.nobody /usr/sbin/suphp&lt;br /&gt;
 chmod 4750 /usr/sbin/suphp&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Sync nginx conf ==&lt;br /&gt;
&lt;br /&gt;
 #!/bin/bash&lt;br /&gt;
 &lt;br /&gt;
 servs=(192.168.0.11 192.168.0.12 192.168.0.15 192.168.0.16 192.168.0.17 192.168.0.19 192.168.0.20 192.168.0.21 192.168.0.22 192.168.0.23 192.168.0.24 192.168.0.26 192.168.0.115 192.168.0.116 192.168.0.117 192.168.0.118 192.168.0.29 192.168.0.30)&lt;br /&gt;
 &lt;br /&gt;
 for i in &amp;quot;${servs[@]}&amp;quot;&lt;br /&gt;
 do&lt;br /&gt;
        echo $i&lt;br /&gt;
        scp nginx_conf/nginx.conf $i:/etc/nginx/&lt;br /&gt;
        scp nginx_conf/.htpasswd $i:/etc/nginx/&lt;br /&gt;
        scp -r nginx_conf/conf.d $i:/etc/nginx/&lt;br /&gt;
        ssh $i &amp;#039;sed -i &amp;quot;s/Lxxx/`echo L\`hostname|cut -d &amp;quot;-&amp;quot; -f1|sed &amp;quot;s/web//&amp;quot;\``/g&amp;quot; /etc/nginx/conf.d/* &amp;amp;&amp;amp; service nginx restart&amp;#039;&lt;br /&gt;
 done&lt;br /&gt;
&lt;br /&gt;
== Manage CWM auto start and stop server ==&lt;br /&gt;
&lt;br /&gt;
 #!/bin/bash&lt;br /&gt;
 . keys.sh&lt;br /&gt;
 &lt;br /&gt;
 &lt;br /&gt;
 minservs=4&lt;br /&gt;
 maxservs=8&lt;br /&gt;
 locon=2500&lt;br /&gt;
 hicon=8000&lt;br /&gt;
 &lt;br /&gt;
 servs=($serv_01 $serv_02 $serv_03 $serv_04 $serv_05 $serv_06 $serv_07 $serv_08)&lt;br /&gt;
 onservs=0&lt;br /&gt;
 conns=0&lt;br /&gt;
 #echo ${servs[@]}&lt;br /&gt;
 &lt;br /&gt;
 for i in &amp;quot;${servs[@]}&amp;quot;&lt;br /&gt;
 do&lt;br /&gt;
        readarray -t values &amp;lt; &amp;lt;(curl -s -H &amp;quot;AuthClientId: ${clientId}&amp;quot; -H &amp;quot;AuthSecret: ${secret}&amp;quot; &amp;quot;https://console.cloudwm.com/service/server/${i}&amp;quot;|/root/api/jq -r &amp;#039;(map(values))[]&amp;#039;) # | egrep &amp;quot;power|ip&amp;quot;&lt;br /&gt;
        #echo ${values[6]} ##power&lt;br /&gt;
        #echo ${values[14]} |sed &amp;#039;s/\&amp;quot;//g&amp;#039; ##ips&lt;br /&gt;
        if [ ${values[6]} == &amp;#039;on&amp;#039; ]; then &lt;br /&gt;
                #onservs=$((onservs+1))&lt;br /&gt;
                ((onservs++))&lt;br /&gt;
                ip=$(echo ${values[14]} |tr -d \&amp;quot;\&amp;#039;\&amp;quot;,\&amp;quot;) ##ips&lt;br /&gt;
                curcon=$(ssh $ip &amp;quot;netstat -ant | grep :80 | wc -l&amp;quot;)&lt;br /&gt;
                #echo $ip , $curcon&lt;br /&gt;
                conns=$((conns+curcon))&lt;br /&gt;
        fi&lt;br /&gt;
        #declare -p values&lt;br /&gt;
 done&lt;br /&gt;
 &lt;br /&gt;
 #echo &amp;quot;On servers: &amp;quot; $onservs&lt;br /&gt;
 #echo &amp;quot;Connections: &amp;quot; $conns&lt;br /&gt;
 &lt;br /&gt;
 mid=$((conns/onservs))&lt;br /&gt;
 #echo &amp;quot;mid: &amp;quot; $mid&lt;br /&gt;
 &lt;br /&gt;
 if [[ $mid &amp;gt; $hicon ]] &amp;amp;&amp;amp; [[ $onservs &amp;lt; $maxservs ]]; then   ## power on +1&lt;br /&gt;
        #echo &amp;quot;hi&amp;quot;&lt;br /&gt;
        srv=${servs[onservs]}&lt;br /&gt;
        #echo $srv&lt;br /&gt;
        curl -s -H &amp;quot;AuthClientId: ${clientId}&amp;quot; -H &amp;quot;AuthSecret: ${secret}&amp;quot; -X PUT -d &amp;quot;power=on&amp;quot; &amp;quot;https://console.cloudwm.com/service/server/${srv}/power&amp;quot;&lt;br /&gt;
 &lt;br /&gt;
 elif [[ $mid &amp;lt; $locon ]] &amp;amp;&amp;amp; [[ $onservs &amp;gt; $minservs ]]; then   ## power off -1&lt;br /&gt;
        #echo &amp;quot;lo&amp;quot; $onservs&lt;br /&gt;
        srv=${servs[onservs-1]}&lt;br /&gt;
        #echo $srv&lt;br /&gt;
        curl -s -H &amp;quot;AuthClientId: ${clientId}&amp;quot; -H &amp;quot;AuthSecret: ${secret}&amp;quot; -X PUT -d &amp;quot;power=off&amp;quot; &amp;quot;https://console.cloudwm.com/service/server/${srv}/power&amp;quot;&lt;br /&gt;
 fi&lt;br /&gt;
&lt;br /&gt;
== SQL dump ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
 #!/bin/bash&lt;br /&gt;
 &lt;br /&gt;
 retain=7                                ## days to keep&lt;br /&gt;
 logdir=&amp;quot;/var/www/html/sqlbackups/&amp;quot;      ## dumps folder&lt;br /&gt;
 prename=&amp;quot;db_Backup&amp;quot;                     ## name prefix&lt;br /&gt;
 postname=&amp;quot;.sql.gz&amp;quot;                      ## name suffix&lt;br /&gt;
 mailaddr=&amp;quot;eitani@gmail.com&amp;quot;&lt;br /&gt;
 &lt;br /&gt;
 dumpcmd=&amp;quot;mysqldump --all-databases&amp;quot;&lt;br /&gt;
 date=`date +&amp;quot;%d%b%y&amp;quot;`&lt;br /&gt;
 tmst=&amp;#039;date +%Y%m%d-%H%M%S.%N&amp;#039;&lt;br /&gt;
 outstr=&amp;quot;[`$tmst`]: Dump started\n&amp;quot;&lt;br /&gt;
 &lt;br /&gt;
 fullname=$logdir$prename&amp;quot;_&amp;quot;$date$postname&lt;br /&gt;
 &lt;br /&gt;
 if [ -z &amp;quot;$logdir&amp;quot; ]; then&lt;br /&gt;
        outstr=$outstr&amp;quot;[`$tmst`]: Log directory not set\n&amp;quot;&lt;br /&gt;
        out=1&lt;br /&gt;
 else&lt;br /&gt;
        outstr=$outstr&amp;quot;[`$tmst`]: Running dump $dumpcmd | gzip -c &amp;gt; $fullname\n&amp;quot;&lt;br /&gt;
        $dumpcmd | gzip -c &amp;gt; $fullname&lt;br /&gt;
        out=$?&lt;br /&gt;
 fi&lt;br /&gt;
 &lt;br /&gt;
 if &amp;lt;nowiki&amp;gt;[[ $out = 0 ]]; then &amp;lt;/nowiki&amp;gt;&lt;br /&gt;
        outstr=$outstr&amp;quot;[`$tmst`]: Dump done, file: $fullname\n&amp;quot;&lt;br /&gt;
        outstr=$outstr&amp;quot;[`$tmst`]: Deleting old backups (older than $retain days) from folder: $logdir\n&amp;quot;&lt;br /&gt;
        outstr=$outstr&amp;quot;[`$tmst`]: Files to be deleted: `find $logdir -type f -mtime +$retain `\n&amp;quot;&lt;br /&gt;
        `find $logdir -type f -mtime +$retain -exec rm {} \;`&lt;br /&gt;
 else&lt;br /&gt;
        outstr=$outstr&amp;quot;[`$tmst`]: Dump failed\n&amp;quot;&lt;br /&gt;
 fi&lt;br /&gt;
 &lt;br /&gt;
 outstr=$outstr&amp;quot;[`$tmst`]: Script done\n&amp;quot;&lt;br /&gt;
 &lt;br /&gt;
 #echo -e $outstr&lt;br /&gt;
 &lt;br /&gt;
 mailtxt=&amp;quot;Subject: SQLdump on webbit server\nFrom: script@webbit.web\nTo: $mailaddr\n\n$outstr&amp;quot;&lt;br /&gt;
 echo -e $mailtxt | sendmail -t&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Check DNS zones ==&lt;br /&gt;
&lt;br /&gt;
 #!/bin/bash&lt;br /&gt;
 &lt;br /&gt;
 iparr=()&lt;br /&gt;
 ipbad=()&lt;br /&gt;
 &lt;br /&gt;
 tempfile=&amp;quot;/tmp/zonetempfile.db&amp;quot;&lt;br /&gt;
 backupdir=&amp;quot;/root/oldzones&amp;quot;&lt;br /&gt;
 &lt;br /&gt;
 getzones () {&lt;br /&gt;
        zones=($(find /var/named/*.db -printf &amp;#039;%f\n&amp;#039;|sed &amp;#039;s/\.db//g&amp;#039;))&lt;br /&gt;
        #echo $zones&lt;br /&gt;
 }&lt;br /&gt;
 &lt;br /&gt;
 findoffs () {&lt;br /&gt;
        fl=$1&lt;br /&gt;
        a=()&lt;br /&gt;
        #echo &amp;quot;File: &amp;quot; $fl&lt;br /&gt;
        #cat $fl | while read line&lt;br /&gt;
        #do&lt;br /&gt;
        while read -r line&lt;br /&gt;
        do&lt;br /&gt;
                #echo &amp;quot;line: &amp;quot;$line&lt;br /&gt;
  &amp;lt;nowiki&amp;gt;              if [[ &amp;quot;${line:0:1}&amp;quot; == &amp;quot;;&amp;quot; ]] &amp;amp;&amp;amp; [[ $line == *&amp;quot;IN A&amp;quot;* ]] ; then&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
                        addr=$(echo $line|awk &amp;#039;{print $4}&amp;#039;)&lt;br /&gt;
                        #echo &amp;quot;adr:&amp;quot; $addr&lt;br /&gt;
                        checkip $addr&lt;br /&gt;
                        #echo done&lt;br /&gt;
                        changed+=($res)&lt;br /&gt;
                fi&lt;br /&gt;
        done &amp;lt; &amp;lt;(cat $fl)&lt;br /&gt;
        #done&lt;br /&gt;
 }&lt;br /&gt;
 &lt;br /&gt;
 checkip () {&lt;br /&gt;
        ipad=$1&lt;br /&gt;
        #echo $ipad&lt;br /&gt;
        if [[ &amp;quot;${iparr[@]}&amp;quot; =~ &amp;quot;i${ipad}i&amp;quot; ]]; then&lt;br /&gt;
        #if [[ &amp;quot;${iparr[@]}&amp;quot; == &amp;quot;${ipad}&amp;quot; ]]; then&lt;br /&gt;
                #echo &amp;quot;Found: &amp;quot; $ipad&lt;br /&gt;
                return 0&lt;br /&gt;
        elif [[ &amp;quot;${ipbad[@]}&amp;quot; =~ &amp;quot;i${ipad}i&amp;quot; ]]; then&lt;br /&gt;
                #echo &amp;quot;found bad: &amp;quot; $ipad&lt;br /&gt;
                return 1&lt;br /&gt;
        else&lt;br /&gt;
                #echo &amp;quot;Not found: &amp;quot; $ipad&lt;br /&gt;
                timeout 2 ping -c 1 $addr &amp;gt; /dev/null&lt;br /&gt;
                res=$?&lt;br /&gt;
                ii=&amp;quot;i&amp;quot;$ipad&amp;quot;i&amp;quot;&lt;br /&gt;
                if [[ $res == 0 ]]; then&lt;br /&gt;
                        #echo $ii&lt;br /&gt;
                        #iparr+=($ipad)&lt;br /&gt;
                        iparr+=($ii)&lt;br /&gt;
                        #echo &amp;quot;add to good: &amp;quot;$ii&lt;br /&gt;
                        return 0&lt;br /&gt;
                else&lt;br /&gt;
                        ipbad+=($ii)&lt;br /&gt;
                        #echo &amp;quot;add to bad: &amp;quot;$ii &amp;quot;, old: &amp;quot;${ipbad[@]}&lt;br /&gt;
                        return 1&lt;br /&gt;
                fi&lt;br /&gt;
                #echo &amp;quot;no&amp;quot;&lt;br /&gt;
        fi&lt;br /&gt;
 }&lt;br /&gt;
 &lt;br /&gt;
 parsezone () {&lt;br /&gt;
        zone=$1&lt;br /&gt;
        #echo &amp;quot;Zone: &amp;quot; $zone&lt;br /&gt;
        fname=&amp;quot;/var/named/$1.db&amp;quot;&lt;br /&gt;
        #echo &amp;quot;Name: &amp;quot; $fname&lt;br /&gt;
        parsed=($(named-checkzone -q -i none -s full -D $1 /var/named/$1.db | egrep &amp;quot;IN SOA|IN A&amp;quot;))&lt;br /&gt;
        #for i in `named-checkzone -q -i none -s full -D $1 /var/named/$1.db | egrep &amp;quot;IN SOA|IN A&amp;quot;`&lt;br /&gt;
        #do&lt;br /&gt;
        #       echo &amp;quot;u: &amp;quot; $i&lt;br /&gt;
        #done&lt;br /&gt;
 &lt;br /&gt;
 &lt;br /&gt;
        #echo &amp;quot;Parsed: &amp;quot; $parsed&lt;br /&gt;
        for i in ${parsed[@]}&lt;br /&gt;
        do&lt;br /&gt;
                #echo &amp;quot;z: &amp;quot; $zone &amp;quot;i: &amp;quot; $i&lt;br /&gt;
                if [[ $i == *&amp;quot;SOA&amp;quot;* ]]; then&lt;br /&gt;
                        ser=$(echo $i|awk &amp;#039;{print $7}&amp;#039;)&lt;br /&gt;
                        #echo &amp;quot;Ser: &amp;quot; $ser&lt;br /&gt;
                elif [[ $i == *&amp;quot;IN A&amp;quot;* ]]; then&lt;br /&gt;
                        host=$(echo $i|awk &amp;#039;{print $1}&amp;#039;)&lt;br /&gt;
                        addr=$(echo $i|awk &amp;#039;{print $5}&amp;#039;)&lt;br /&gt;
                        #echo &amp;quot;Pinging: *&amp;quot;$addr&amp;quot;*&amp;quot;&lt;br /&gt;
                        #timeout 3 ping -c 1 $addr #&amp;gt; /dev/null&lt;br /&gt;
                        checkip $addr&lt;br /&gt;
                        res=$?&lt;br /&gt;
                        let changed+=($res)&lt;br /&gt;
                        if [[ $res &amp;gt; 0 ]]; then&lt;br /&gt;
                                toblock+=($addr)&lt;br /&gt;
                        fi&lt;br /&gt;
                        #echo &amp;quot;Host: &amp;quot; $host &amp;quot;Addr: &amp;quot; $addr &amp;quot;Res: &amp;quot; $res&lt;br /&gt;
                fi&lt;br /&gt;
        done&lt;br /&gt;
        #echo &amp;quot;Block: &amp;quot; $toblock&lt;br /&gt;
        #echo &amp;quot;Parsed: &amp;quot; ${parsed[@]}&lt;br /&gt;
        #sers=$(echo $parsed|grep SOA|awk &amp;#039;{print $7}&amp;#039;)&lt;br /&gt;
        #sers=$(echo $parsed|grep SOA)&lt;br /&gt;
        #arec=$(echo $parsed|grep &amp;quot;IN A&amp;quot;)&lt;br /&gt;
        #echo &amp;quot;ser: &amp;quot; $sers&lt;br /&gt;
        #echo ${arec[@]}&lt;br /&gt;
        #for i in &amp;quot;${arec[@]}&amp;quot;&lt;br /&gt;
        #do&lt;br /&gt;
        #       echo &amp;quot;As: &amp;quot; $i&lt;br /&gt;
        #done&lt;br /&gt;
 }&lt;br /&gt;
 &lt;br /&gt;
 updatezone () {&lt;br /&gt;
        uzone=$1&lt;br /&gt;
        zname=$2&lt;br /&gt;
        newser=$((ser+1))&lt;br /&gt;
        #echo &amp;quot;old ser&amp;quot; $ser&lt;br /&gt;
        #echo &amp;quot;new ser&amp;quot; $newser&lt;br /&gt;
        cp $zname /root/scripts/&lt;br /&gt;
 &lt;br /&gt;
        sed -i &amp;quot;s/$ser/$newser/&amp;quot; $zname   # update serial&lt;br /&gt;
        infile=$(cat $zname)&lt;br /&gt;
        #outfile=&amp;quot;z.z&amp;quot;&lt;br /&gt;
        outfile=tempfile&lt;br /&gt;
        &amp;gt; $outfile&lt;br /&gt;
        #echo $infile&lt;br /&gt;
        for f1 in $infile&lt;br /&gt;
        do&lt;br /&gt;
                #echo &amp;quot; - &amp;quot;$f1&lt;br /&gt;
                newline=$f1&lt;br /&gt;
                if [[ &amp;quot;${f1:0:1}&amp;quot; == &amp;quot;;&amp;quot; ]] &amp;amp;&amp;amp; [[ $f1 == *&amp;quot;IN A&amp;quot;* ]] ; then&lt;br /&gt;
                        fip=$(echo $f1|awk &amp;#039;{print $4}&amp;#039;)&lt;br /&gt;
                        #echo &amp;quot;add: &amp;quot;$fip&lt;br /&gt;
                        if ! [[ &amp;quot;${ipbad[@]}&amp;quot; =~ &amp;quot;i${fip}i&amp;quot; ]]; then&lt;br /&gt;
                                #echo &amp;quot;remove from bad&amp;quot; $fip&lt;br /&gt;
                                newline=$(echo $f1|sed -r &amp;#039;s/^.{1}//&amp;#039;)&lt;br /&gt;
                                #echo &amp;quot;new: &amp;quot;$newline&lt;br /&gt;
                        fi&lt;br /&gt;
                elif [[ $f1 == *&amp;quot;IN A&amp;quot;*  ]]; then&lt;br /&gt;
                        fip=$(echo $f1|awk &amp;#039;{print $4}&amp;#039;)&lt;br /&gt;
                        #echo &amp;quot;add: &amp;quot;$fip&lt;br /&gt;
                        if ! [[ &amp;quot;${iparr[@]}&amp;quot; =~ &amp;quot;i${fip}i&amp;quot; ]]; then&lt;br /&gt;
                                #echo &amp;quot;remove from good&amp;quot; $fip&lt;br /&gt;
                                newline=&amp;quot;;&amp;quot;$f1&lt;br /&gt;
                                #echo &amp;quot;new: &amp;quot;$newline&lt;br /&gt;
                        fi&lt;br /&gt;
                fi&lt;br /&gt;
                echo $newline &amp;gt;&amp;gt; $outfile&lt;br /&gt;
        done&lt;br /&gt;
        cat $outfile &amp;gt; $zname&lt;br /&gt;
 }&lt;br /&gt;
 &lt;br /&gt;
 IFS=&amp;#039;&lt;br /&gt;
 &amp;#039;&lt;br /&gt;
 &lt;br /&gt;
 #zone=&amp;quot;eye-t.co.il&amp;quot;&lt;br /&gt;
 getzones&lt;br /&gt;
 #echo $zones&lt;br /&gt;
 &lt;br /&gt;
 #if [ ! -d $backupdir ]; then&lt;br /&gt;
 #       echo &amp;quot;nofolder&amp;quot;&lt;br /&gt;
 #       mkdir $backupdir&lt;br /&gt;
 #fi&lt;br /&gt;
 &lt;br /&gt;
 curdate=$(date +&amp;quot;%Y%m%d-%H%M%S&amp;quot;)&lt;br /&gt;
 &lt;br /&gt;
 #echo $curdate&lt;br /&gt;
 &lt;br /&gt;
 for zone in &amp;quot;${zones[@]}&amp;quot;&lt;br /&gt;
 do&lt;br /&gt;
        changed=0&lt;br /&gt;
        toblock=()&lt;br /&gt;
        toallow=()&lt;br /&gt;
 &lt;br /&gt;
        parsezone $zone&lt;br /&gt;
        #echo $fname&lt;br /&gt;
        findoffs $fname&lt;br /&gt;
        #echo &amp;quot;change: &amp;quot; $changed&lt;br /&gt;
        #echo &amp;quot;good: &amp;quot; ${iparr[@]}&lt;br /&gt;
        #echo &amp;quot;bad: &amp;quot; ${ipbad[@]}&lt;br /&gt;
        if [[ $changed &amp;gt; 0 ]]; then&lt;br /&gt;
                if [ ! -d $backupdir/$curdate ]; then&lt;br /&gt;
                        mkdir $backupdir/$curdate -p&lt;br /&gt;
                fi&lt;br /&gt;
                echo &amp;quot;zone: &amp;quot; $zone &amp;quot;changed!!!&amp;quot;&lt;br /&gt;
                cp $fname $backupdir/$curdate/&lt;br /&gt;
                updatezone $zone $fname&lt;br /&gt;
        fi&lt;br /&gt;
 done&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Get all CFS users ==&lt;br /&gt;
&lt;br /&gt;
After login, save the cookie.&lt;br /&gt;
&lt;br /&gt;
Get all organizations:&lt;br /&gt;
 curl --cookie &amp;quot;cwmid=001; PHPSESSID=xxx&amp;quot; &amp;quot;https://null.cloudwm.com/svc/fileserver/groups?size=500&amp;amp;sortBy=name&amp;amp;sortAsc=true&amp;amp;filter=&amp;amp;from=&amp;quot;|jq -r &amp;#039;(map(values))[]&amp;#039;|grep &amp;quot;\&amp;quot;id&amp;quot;|awk &amp;#039;{print $2}&amp;#039;|cut -d&amp;quot;\&amp;quot;&amp;quot; -f2&lt;br /&gt;
&lt;br /&gt;
Get users of an organization:&lt;br /&gt;
 curl --cookie &amp;quot;cwmid=001; PHPSESSID=xxx&amp;quot; &amp;quot;https://null.cloudwm.com/svc/fileserver/group/$i&amp;quot;|jq -r &amp;#039;(map(values))[]&amp;#039;|grep &amp;quot;email&amp;quot;|cut -d&amp;quot;\&amp;quot;&amp;quot; -f4&lt;br /&gt;
&lt;br /&gt;
Get full list of all users:&lt;br /&gt;
 for i in `curl --cookie &amp;quot;cwmid=001; PHPSESSID=xxx&amp;quot; &amp;quot;https://null.cloudwm.com/svc/fileserver/groups?size=500&amp;amp;sortBy=name&amp;amp;sortAsc=true&amp;amp;filter=&amp;amp;from=&amp;quot;|jq -r &amp;#039;(map(values))[]&amp;#039;|grep &amp;quot;\&amp;quot;id&amp;quot;|awk &amp;#039;{print $2}&amp;#039;|cut -d&amp;quot;\&amp;quot;&amp;quot; -f2`; do curl --cookie &amp;quot;cwmid=001; PHPSESSID=xxx&amp;quot; &amp;quot;https://null.cloudwm.com/svc/fileserver/group/$i&amp;quot;|jq -r &amp;#039;(map(values))[]&amp;#039;|grep &amp;quot;email&amp;quot;|cut -d&amp;quot;\&amp;quot;&amp;quot; -f4;done&lt;/div&gt;</summary>
		<author><name>Meadmin</name></author>	</entry>

	</feed>