Following are the steps to take increment backup of reseller account on backup server.
1) First we need to find out the user name which is under the reseller account.
On shared/source server :-
vi /home/resellerUsername/backup.sh
# For finding the username under the reseller account
cat /etc/trueuserowners | grep resellerUsername | awk -F: '{print $1}' > /home/resellerUsername/resellerUsername.txt
2) Save the file with the permission 755
#Then set the cron in once a day in cPanel of reseller account
0 0 * * * sh /home/resellerUsername/backup.sh
==============================================================================
3) On Backup server :-
vi /home/backupUsername/backup.sh
==============================================================================
# Rsync the client name from source server and store in /home/backupUsername/ on backup server
/usr/bin/rsync -vrplogDtH -e "ssh -p SSH-PORT " root@Source_Server_Hostname:/home/resellerUsername/resellerUsername.txt /home/backupUsername/
# For Data Backup
for i in `cat /home/backupUsername/resellerUsername.txt`;do /usr/bin/rsync -vrplogDtH -e "ssh -p SSH-PORT " root@Source_Server_Hostname:/home/$i /home/backupUsername/weekly-data; done
#For Mysql Backup
for i in `cat /home/backupUsername/resellerUsername.txt`;do /usr/bin/rsync -vrplogDtH -e "ssh -p SSH-PORT " root@Source_Server_Hostname:/var/lib/mysql/$i* /home/backupUsername/weekly-mysql/; done
# Change the ownership for accessing the files by using ftp
chown backupUsername:backupUsername /home/backupUsername/weekly-data/ -R
chown backupUsername:backupUsername /home/backupUsername/weekly-mysql/ -R
===================================================
Save the file with the permission 755
4) Then set the cron for daily backup.
vi /var/spool/cron/root
0 0 * * * /bin/bash /home/backupUsername/backup.sh
Note : Replace the “Source_Server_Hostname”, “backupUsername: and “resellerUsername” with the original name.