Skip to main content

cPanel backup

#!/bin/sh
monthdate=`date +%d`
todatemysql=`date '+%y%m%d'`
yestermonthmysql=`date -d '1 day ago' '+%y%m%d'`
nowdcpaccess=`date '+%m\/%d\/%Y'`
yesterdcpaccess=`date -d '1 day ago'  '+%m\/%d\/%Y'`
nowdaperror=`date '+%a %b %d'`
yesterdaperror=`date -d '1 day ago' '+%a %b %d'`
nowdmessages=`date '+%b %d'`
yesterdmessages=`date -d '1 day ago' '+%b %d'`
nowdmail=`date '+%Y-%m-%d'`
yesterdmail=`date -d '1 day ago' '+%Y-%m-%d'`
mkdir /root/govrequest/$monthdate


for i in `cat /root/govrequest/accounts`; do

touch /root/govrequest/$monthdate/$i.cpanel.log
touch /root/govrequest/$monthdate/$i.apache.log
touch /root/govrequest/$monthdate/$i.messages.log
touch /root/govrequest/$monthdate/$i.mail.log
#monthly cpbackup
pkgrund=`date +%d`
if [ "$pkgrund" -eq "27" ] || [ "$pkgrund" -eq "30" ];then
mkdir /root/govrequest/$monthdate.cpbackup
/scripts/pkgacct $i /root/govrequest/$monthdate
fi
#monthly mysql log backup
sed -n  '/'$yestermonthmysql'/,/'$todatemysql'/p'  /var/log/mysqld.log | grep $i >> /root/govrequest/$monthdate/$i.mysql.log
#monthly cpanel access log

sed -n  '/'$yesterdcpaccess'/,/'$nowdcpaccess'/p' /usr/local/cpanel/logs/access_log | grep $i >> /root/govrequest/$monthdate/$i.cpanel.log


#monthly apache error log

sed -n  "/$yesterdaperror/,/$nowdaperror/p" /usr/local/apache/logs/error_log | grep $i >> /root/govrequest/$monthdate/$i_apache.log

#monthly messages log

sed -n  "/$yesterdmessages/,/$nowdmessages/p" /var/log/messages | grep $i >> /root/govrequest/$monthdate/$i.messages.log

#monthly mail log

sed -n  '/'$yesterdmail'/,/'$nowdmail'/p' /var/log/exim_mainlog | grep $i >> /root/govrequest/$monthdate/$i.mail.log
done

Comments

Popular posts from this blog

Modsecurity block rule for XMLRPC and wp-login attack

SecAction phase:1,nolog,pass,initcol:ip=%{REMOTE_ADDR},initcol:user=%{REMOTE_ADDR},id:5000134  <Locationmatch "/wp-login.php">  SecRule user:bf_block "@gt 0" "deny,status:401,log,id:5000135,msg:'ip address blocked for 5 minutes, more than 10 login attempts in 3 minutes.'"  SecRule RESPONSE_STATUS "^302" "phase:5,t:none,nolog,pass,setvar:ip.bf_counter=0,id:5000136"  SecRule RESPONSE_STATUS "^200" "phase:5,chain,t:none,nolog,pass,setvar:ip.bf_counter=+1,deprecatevar:ip.bf_counter=1/180,id:5000137"  SecRule ip:bf_counter "@gt 10" "t:none,setvar:user.bf_block=1,expirevar:user.bf_block=300,setvar:ip.bf_counter=0"  </Locationmatch>  SecAction phase:1,nolog,pass,initcol:ip=%{REMOTE_ADDR},initcol:user=%{REMOTE_ADDR},id:5000234  <Locationmatch "/xmlrpc.php">  SecRule user:bf_block "@gt 0" "deny,status:401,log,id:5000235,msg:'ip address blocked for 5 m...

Apache tuning documentation

Apache bench marking ======================= Things or checklist to be considered before the test     CPU: avoid power-saving mode. cpufreq-set -g performance.     File descriptors: raise the limit to (at least) the number of concurrent connections you wish to handle, using ulimit -n in your shell, or setrlimit(RLIMIT_NOFILE) in your server. Beware, some systems forbid you to raise the limit, you might need to investigate a bit to find how to unlock it.     Disable the logs of your server (you do not want to lose time logging thousands of requests instead of answering them).     Raise /proc/sys/net/somaxconn to the number of concurrent connections you want to handle. To understand why this is necessary, read the technical report or the excellent paper Measuring the Capacity of a Web Server (Banga and Druschel, Usenix 97). More on the fascinating topic of the accept() queue can be found in accept()able Strategies for Im...

Fix the permission and ownership

Usage ./scripts user1 user2 user3 You can also run a server-wide loop like this: for i in `ls -A /var/cpanel/users` ; do ./scripts $i ; done  code =========== #!/bin/bash if [ "$#" -lt "1" ];then echo "Must specify user" exit; fi USER=$@ for user in $USER do HOMEDIR=$(egrep "^${user}:" /etc/passwd | cut -d: -f6) if [ ! -f /var/cpanel/users/$user ]; then echo "$user user file missing, likely an invalid user" elif [ "$HOMEDIR" == "" ];then echo "Couldn't determine home directory for $user" else echo "Setting ownership for user $user" chown -R $user:$user $HOMEDIR chmod 711 $HOMEDIR chown $user:nobody $HOMEDIR/public_html $HOMEDIR/.htpasswds chown $user:mail $HOMEDIR/etc $HOMEDIR/etc/*/shadow $HOMEDIR/etc/*/passwd echo "Setting permissions for user $USER" find $HOMEDIR -type f -exec chmod 644 {} \; -print find $HOMEDIR -type d -exec chmod 755 {} \; -print find $HOMEDIR ...