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