Here's something I've hacked together that will work for removing users home directories that are backed up but no longer active on the system.
First create a file called directory-integrity.sh in /backup with the following contents:
Code:
#!/bin/sh
mkdir -p /backup/cpbackup-modified
if [ ! -d /backup/cpbackup-modified ]
then
echo "Not a directory: /backup/cpbackup-modified"
exit 1
fi
mkdir -p /backup/cpbackup-modified/daily
if [ ! -d /backup/cpbackup-modified/daily ]
then
echo "Not a directory: /backup/cpbackup-modified/daily"
exit 1
fi
mkdir -p /backup/cpbackup-modified/daily/files
if [ ! -d /backup/cpbackup-modified/daily/files ]
then
echo "Not a directory: /backup/cpbackup-modified/daily/files"
exit 1
fi
mkdir -p /backup/cpbackup-modified/daily/dirs
if [ ! -d /backup/cpbackup-modified/daily/dirs ]
then
echo "Not a directory: /backup/cpbackup-modified/daily/dirs"
exit 1
fi
mkdir -p /backup/cpbackup-modified/weekly
if [ ! -d /backup/cpbackup-modified/weekly ]
then
echo "Not a directory: /backup/cpbackup-modified/weekly"
exit 1
fi
mkdir -p /backup/cpbackup-modified/weekly/files
if [ ! -d /backup/cpbackup-modified/weekly/files ]
then
echo "Not a directory: /backup/cpbackup-modified/weekly/files"
exit 1
fi
mkdir -p /backup/cpbackup-modified/weekly/dirs
if [ ! -d /backup/cpbackup-modified/weekly/dirs ]
then
echo "Not a directory: /backup/cpbackup-modified/weekly/dirs"
exit 1
fi
mkdir -p /backup/cpbackup-modified/monthly
if [ ! -d /backup/cpbackup-modified/monthly ]
then
echo "Not a directory: /backup/cpbackup-modified/monthly"
exit 1
fi
mkdir -p /backup/cpbackup-modified/monthly/files
if [ ! -d /backup/cpbackup-modified/monthly/files ]
then
echo "Not a directory: /backup/cpbackup-modified/monthly/files"
exit 1
fi
mkdir -p /backup/cpbackup-modified/monthly/dirs
if [ ! -d /backup/cpbackup-modified/monthly/dirs ]
then
echo "Not a directory: /backup/cpbackup-modified/monthly/dirs"
exit 1
fi
Now create another file in /backup called backup-verify.sh with the following contents:
Code:
#!/bin/sh
/bin/sh /backup/directory-integrity.sh
/bin/ls -1A /var/cpanel/users/ >> /backup/accounts.dat
for i in `cat /backup/accounts.dat`
do
/bin/mv /backup/cpbackup/daily/$i.tar.gz /backup/cpbackup-modified/daily/
/bin/mv /backup/cpbackup/weekly/$i.tar.gz /backup/cpbackup-modified/weekly/
/bin/mv /backup/cpbackup/monthly/$i.tar.gz /backup/cpbackup-modified/monthly/
done
/bin/mv /backup/cpbackup/daily/files/* /backup/cpbackup-modified/daily/files/
/bin/mv /backup/cpbackup/weekly/files/* /backup/cpbackup-modified/weekly/files/
/bin/mv /backup/cpbackup/monthly/files/* /backup/cpbackup-modified/monthly/files/
/bin/mv /backup/cpbackup/daily/dirs/* /backup/cpbackup-modified/daily/dirs/
/bin/mv /backup/cpbackup/weekly/dirs/* /backup/cpbackup-modified/weekly/dirs/
/bin/mv /backup/cpbackup/monthly/dirs/* /backup/cpbackup-modified/monthly/dirs/
/bin/rm -rf /backup/cpbackup
/bin/mv /backup/cpbackup-modified /backup/cpbackup
/bin/rm -f /backup/accounts.dat
/bin/echo "Done & Done"
exit
Once you've completed the above and understand the bash script, execute as root: cd /backup; sh backup-verify.sh
Enjoy.
cPanel.net Support Ticket Number: