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 email@example.com:/etc
(18.104.22.168 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 firstname.lastname@example.org:/usr/local/apache rsync -vrplogDtH /var/named email@example.com:/var rsync -vrplogDtH /home/* firstname.lastname@example.org:/home rsync -vrplogDtH /usr/local/cpanel email@example.com:/usr/local rsync -vrplogDtH /var/lib/mysql firstname.lastname@example.org:/var/lib rsync -vrplogDtH /var/cpanel email@example.com:/var rsync -vrplogDtH /usr/share/ssl firstname.lastname@example.org:/usr/share rsync -vrplogDtH /var/ssl email@example.com:/var rsync -vrplogDtH /usr/local/cpanel/3rdparty/mailman firstname.lastname@example.org:/usr/local/cpanel/3rdparty rsync -vrplogDtH /var/log/bandwidth email@example.com:/var/log rsync -vrplogDtH /usr/local/frontpage firstname.lastname@example.org:/usr/local rsync -vrplogDtH /var/spool/cron email@example.com:/var/spool rsync -vrplogDtH /root/.my.cnf firstname.lastname@example.org:/root rsync -vrplogDtH /etc/httpd/conf/httpd.conf email@example.com:/etc/httpd/conf
Dont forget to change remote server ip address in configuration.
replace <soureip> to 22.214.171.124 — /var/named/*.db replace <soureip> to 126.96.36.199 — /usr/local/apache/conf/httpd.conf
Then updating scripts and restarting services…