Community Forums
Connect with us on LinkedIn
+ Reply to Thread
Results 1 to 8 of 8
  1. #1
    Member
    Join Date
    May 2005
    Posts
    235

    Default Automated script to remove large accounts from central cpanel backup?

    Does anyone know of an automated script that will check all cpanel accounts disk usage and remove them from the server wide cpanel backup if the disk usage is higher than X amount.


    Thanks

  2. #2
    cPanel Partner NOC cPanel Partner NOC Badge WiredTree Joe's Avatar
    Join Date
    Dec 2006
    Location
    Chicago, IL
    Posts
    68

    Default

    You can use find to purge backups over a certain size:

    Code:
    find /backups -type f -size +10485760k -exec rm -f {} \;
    The above command will search through /backups for files that are over 10GB in size and remove them. Adjust the /backups to the correct path of your backups and the +10485760k to fit your needs. This can be scheduled to run via Cron.

  3. #3
    Member
    Join Date
    May 2005
    Posts
    235

    Default

    Not quite what I was looking for. I am looking for a script to remove large accounts from the cpanel backup list so they are not backed up nightly.

    Its under WHM --> Configure backup --> Select Specific Users

    That list.

  4. #4
    Member This forum account has been confirmed by cPanel staff to represent a vendor. UNIXy's Avatar
    Join Date
    Sep 2009
    Location
    Houston, Texas, USA
    Posts
    70
    cPanel/Enkompass Access Level

    DataCenter Provider

    Smile

    Quote Originally Posted by zigzam View Post
    Not quite what I was looking for. I am looking for a script to remove large accounts from the cpanel backup list so they are not backed up nightly.

    Its under WHM --> Configure backup --> Select Specific Users

    That list.
    Hi,

    Here's a script. Configure this in cron to run weekly for example (@weekly /root/script.sh)

    Code:
    #!/bin/bash
    
    max_size="4096" # This is 4096KB or 4MB
    
    ls -1 /var/cpanel/users/| \
    while read u;
     do
      size=$(repquota -a | grep ${u}|awk '{print $3}'|sort -k 1 -nr|head -1);
      if [ "${size}" -ge "${max_size}" ];
      then
        echo "${u}" >> /tmp/cpbackup-userskip.conf;
      fi;
    done;
    
    sort -u /tmp/cpbackup-userskip.conf /etc/cpbackup-userskip.conf > /tmp/cpbackup-userskip.conf.uniq;
    cp -f /tmp/cpbackup-userskip.conf.uniq /etc/cpbackup-userskip.conf;
    rm -f /tmp/cpbackup-userskip.conf.*;
    Enjoy!

    Joe / UNIXY
    - Truly Fully Managed Servers http://unixy.net/
    - Fastlayer.com: Varnish for the cloud.
    - cPanel Varnish Plugin

  5. #5
    Member
    Join Date
    May 2005
    Posts
    235

    Default

    That script didn't work. Any other ones?

  6. #6
    Member InterServed's Avatar
    Join Date
    Jul 2007
    Posts
    172
    cPanel/Enkompass Access Level

    Root Administrator

    Default

    Quote Originally Posted by zigzam View Post
    That script didn't work. Any other ones?
    Here's a revised code based on UNIXy :

    Code:
    #!/bin/bash
    
    max_size="2097152" # This is 2097152KB or 2GB
    
    for u in `ls /var/cpanel/users/`;
     do
      size=$(repquota -a | grep ${u}|awk '{print $3}'|sort -k 1 -nr|head -1);
      if [ "${size}" -ge "${max_size}" ];
      then
        echo "${u}" >> /tmp/cpbackup-userskip.conf;
      fi;
    done;
    
    sort -u /tmp/cpbackup-userskip.conf /etc/cpbackup-userskip.conf > /tmp/cpbackup-userskip.conf.uniq;
    cp -f /tmp/cpbackup-userskip.conf.uniq /etc/cpbackup-userskip.conf;
    rm -f /tmp/cpbackup-userskip.conf.*;

  7. #7
    Member
    Join Date
    May 2005
    Posts
    235

    Default

    Quote Originally Posted by InterServed View Post
    Here's a revised code based on UNIXy :

    Code:
    #!/bin/bash
    
    max_size="2097152" # This is 2097152KB or 2GB
    
    for u in `ls /var/cpanel/users/`;
     do
      size=$(repquota -a | grep ${u}|awk '{print $3}'|sort -k 1 -nr|head -1);
      if [ "${size}" -ge "${max_size}" ];
      then
        echo "${u}" >> /tmp/cpbackup-userskip.conf;
      fi;
    done;
    
    sort -u /tmp/cpbackup-userskip.conf /etc/cpbackup-userskip.conf > /tmp/cpbackup-userskip.conf.uniq;
    cp -f /tmp/cpbackup-userskip.conf.uniq /etc/cpbackup-userskip.conf;
    rm -f /tmp/cpbackup-userskip.conf.*;

    Thank you that works!

  8. #8
    Member cwalke32477's Avatar
    Join Date
    Mar 2010
    Location
    Atlanta, Georgia
    Posts
    94
    cPanel/Enkompass Access Level

    Root Administrator

    Default

    Sorry, I'm pretty new at all of this stuff.
    Can you explian to me how I would use this?

Similar Threads & Tags
Similar threads

  1. Automated Backup Script Problem
    By veridical in forum Data Protection
    Replies: 5
    Last Post: 02-03-2012, 10:01 AM
  2. Cpanel Automated Backup To Multiple Destinations
    By iDeep in forum Data Protection
    Replies: 3
    Last Post: 11-15-2010, 05:54 AM
  3. Automated Backup Script Problem
    By veridical in forum cPanel and WHM Discussions
    Replies: 2
    Last Post: 04-27-2010, 05:43 PM
  4. Automated script to remove large accounts from central cpanel backup?
    By zigzam in forum cPanel and WHM Discussions
    Replies: 2
    Last Post: 04-03-2010, 11:13 AM
  5. Automated Cpanel Backup Cron Job
    By pwhite in forum cPanel and WHM Discussions
    Replies: 0
    Last Post: 09-22-2006, 06:25 AM
Linkedin       Facebook       Twitter       RSS       Flickr       YouTube