Restore cpanel server from corrupted drive. If your server drive got corrupted and need to restore data from it then you can use the following steps to restore data from problematic drive.
Rsync stands for remote sync. rsync is used to perform the backup operation in UNIX / Linux. rsync utility is used to synchronize the files and directories. We can use this to restore database from corrupt drive.
Ask your DC to attach corrupted drive as secondary drive and mount drive as olddrive folder
mount /dev/sdc /olddrive
We can start copying backup data from the old drive
If possible, do this process through SCREEN.
rsync -vrplogDtH /olddrive/usr/local/apache/conf /usr/local/apache rsync -vrplogDtH /olddrive/var/named /var rsync -vrplogDtH /olddrive/home/* /home rsync -vrplogDtH /olddrive/usr/local/cpanel /usr/local rsync -vrplogDtH /olddrive/var/lib/mysql /var/lib rsync -vrplogDtH /olddrive/var/cpanel /var rsync -vrplogDtH /olddrive/usr/share/ssl /usr/share rsync -vrplogDtH /olddrive/var/ssl /var rsync -vrplogDtH /olddrive/usr/local/cpanel/3rdparty/mailman /usr/local/cpanel/3rdparty rsync -vrplogDtH /olddrive/var/log/bandwidth /var/log rsync -vrplogDtH /olddrive/usr/local/frontpage /usr/local rsync -vrplogDtH /olddrive/var/spool/cron /var/spool rsync -vrplogDtH /olddrive/root/.my.cnf /root rsync -vrplogDtH /olddrive/etc/httpd/conf/httpd.conf /etc/httpd/conf
Copy all old drive /etc folder configuration files.
cd /olddrive/etc rsync -vrplogDtH secondarymx domainalias valiases vfilters exim* proftpd* pure-ftpd* passwd* group* *domain* *named* wwwacct.conf cpupdate.conf quota.conf shadow* *rndc* ips* ipaddrpool* ssl hosts /etc
Updating scripts and restarting services:
/scripts/upcp /scripts/updatenow /scripts/easyapache /scripts/securetmp /scripts/fixeverything
Restarting services as:
/scripts/restartsrv httpd /scripts/restartsrv cpanel /scripts/restartsrv mysql /scripts/restartsrv named /scripts/restartsrv exim
Done… Thats all!!!
If you need to restore data to remote server then copy files to remote server. Enable SSH key authorized login without root password between both servers.
Go to old serve which is corrupted drive.
cd /etc rsync -vrplogDtH secondarymx domainalias valiases vfilters exim* proftpd* pure-ftpd* passwd* group* *domain* *named* wwwacct.conf cpupdate.conf quota.conf shadow* *rndc* ips* ipaddrpool* ssl hosts root@84.23.43.45:/etc
(84.23.43.45 is assumed as the IP of the new server to which we are moving the data.)
Now we need to transfer everything else.
rsync -vrplogDtH /usr/local/apache/conf root@84.23.43.45:/usr/local/apache rsync -vrplogDtH /var/named root@84.23.43.45:/var rsync -vrplogDtH /home/* root@84.23.43.45:/home rsync -vrplogDtH /usr/local/cpanel root@84.23.43.45:/usr/local rsync -vrplogDtH /var/lib/mysql root@84.23.43.45:/var/lib rsync -vrplogDtH /var/cpanel root@84.23.43.45:/var rsync -vrplogDtH /usr/share/ssl root@84.23.43.45:/usr/share rsync -vrplogDtH /var/ssl root@84.23.43.45:/var rsync -vrplogDtH /usr/local/cpanel/3rdparty/mailman root@84.23.43.45:/usr/local/cpanel/3rdparty rsync -vrplogDtH /var/log/bandwidth root@84.23.43.45:/var/log rsync -vrplogDtH /usr/local/frontpage root@84.23.43.45:/usr/local rsync -vrplogDtH /var/spool/cron root@84.23.43.45:/var/spool rsync -vrplogDtH /root/.my.cnf root@84.23.43.45:/root rsync -vrplogDtH /etc/httpd/conf/httpd.conf root@84.23.43.45:/etc/httpd/conf
Dont forget to change remote server ip address in configuration.
replace <soureip> to 84.23.43.45 — /var/named/*.db replace <soureip> to 84.23.43.45 — /usr/local/apache/conf/httpd.conf
Then updating scripts and restarting services…