Here is what we did for similar problem; we put a simple script let's say /scripts/backup-large-accounts.sh which makes a backup from large accounts without their home directory, with below contents:
Code:
#!/bin/sh
cat /etc/cpbackup-userskip.conf | while read f
do
file=cpmove-$f.tar.gz
/scripts/pkgacct --skiphomedir "$f" > temp.txt
sleep 30
dir="/"`cat temp.txt |grep "pkgacctfile is"|awk -F "/" '{print $2}'`
host=backup-ftp-server-name-or-ip
pass=ftppass
user=ftpuser
/usr/bin/ftp -in <<EOF
open $host
user $user $pass
bin
lcd $dir
mput $file
quit
EOF
EOF
cd $dir
rm -f $file
done
In case you wanna modify it, the above code takes username of big accounts from /etc/cpbackup-userskip.conf , makes a backup from the user without home directory, then finds out which home directory the backup file is stored (as you know it's one of home drives with most available disk space), after a 30 second delay, connects to the backup server through FTP, uploads the backup file cpmove-username.tar.gz there, removes it from your server, and goes to next user. You need to enter ftp server name and login info.
To do it weekly, add a cron job like:
0 3 * * 0 /scripts/backup-large-accounts.sh 2>&1
Needless to say, /scripts/backup-large-accounts.sh should have 755 permission. It works on dozens of servers as I tested and no problems, no overloads etc. Hope this helps.