The Community Forums

Interact with an entire community of cPanel & WHM users!
  1. This site uses cookies. By continuing to use this site, you are agreeing to our use of cookies. Learn More.

pkgacct backup trick to obey cpbackup-exclude.conf no longer works

Discussion in 'Data Protection' started by aww, Feb 8, 2014.

  1. aww

    aww Well-Known Member

    Joined:
    Feb 10, 2005
    Messages:
    152
    Likes Received:
    0
    Trophy Points:
    16
    cPanel Access Level:
    Root Administrator
    To my horror, it looks like the newest versions of pkgacct not only do not obey the "backup" term added to the command line but they also exclude the homedir by default.

    It looks like adding --backup (with dashes) will do a full backup, but that still does not obey cpbackup-exclude.conf

    Also, there is still absolutely no way to exclude logs from a pkgacct since cpanels makes it's own logs directory (excluding access-logs does not work)

    Is there any way to make this work again or is it time to move on from cpanel?
     
  2. Infopro

    Infopro cPanel Sr. Product Evangelist
    Staff Member

    Joined:
    May 20, 2003
    Messages:
    14,451
    Likes Received:
    195
    Trophy Points:
    63
    Location:
    Pennsylvania
    cPanel Access Level:
    Root Administrator
    Twitter:
  3. aww

    aww Well-Known Member

    Joined:
    Feb 10, 2005
    Messages:
    152
    Likes Received:
    0
    Trophy Points:
    16
    cPanel Access Level:
    Root Administrator
    There have been several threads about cpbackup-exclude.conf before

    I had working cpbackup-exclude.conf and it was being obeyed

    But since the changeover to the newer perl I believe everything stopped working

    As a test I have

    directory
    /directory
    directory/
    */directory
    directory/*


    None of them work, none of them are being obeyed anymore

    CENTOS 6.5 x86_64 WHM 11.42.0 (build 5)

    Oh and looking at the /scripts/pkgacct it would be incredibly easy for cpanel to add a --nologs option, you already have a conditional wrapper on the logs portion.

    But the logs are the least of my problems.
     
  4. aww

    aww Well-Known Member

    Joined:
    Feb 10, 2005
    Messages:
    152
    Likes Received:
    0
    Trophy Points:
    16
    cPanel Access Level:
    Root Administrator
    Okay it looks like /scripts/pkgacct had a major rewrite over the years.

    This line breaks things

    $_ = $homedir . '/' . $_ if ( index( $_, '/' ) != 0 );

    It tampers with the rules in a way that breaks them.

    If I comment it out, pkgacct obeys the rules.

    Note I am backing up to a directory outside of $homedir (as root) so it is possible the exclusion process runs after the files are copied and not before and since they are not in $homedir, they are never obeyed.
     
  5. Infopro

    Infopro cPanel Sr. Product Evangelist
    Staff Member

    Joined:
    May 20, 2003
    Messages:
    14,451
    Likes Received:
    195
    Trophy Points:
    63
    Location:
    Pennsylvania
    cPanel Access Level:
    Root Administrator
    Twitter:
    So, the customized way that you're doing the backup sounds like it needs to be updated for whatever reason to work with the latest version of cPanel, is that right? Why is this so much of a showstopper that you'd state this?

     
  6. aww

    aww Well-Known Member

    Joined:
    Feb 10, 2005
    Messages:
    152
    Likes Received:
    0
    Trophy Points:
    16
    cPanel Access Level:
    Root Administrator
    What I am saying is this:

    at some point in the past year, cpanel significantly changed/rewrote pkgacct

    it no longer obeys cpbackup-exclude.conf because of a bug, which is a major problem for large sites

    and it still does not have any way to exclude logs, even though that would be super easy to do in the code to add an option

    Fortunately I know enough to be able to manually patch pkgacct myself but I had to waste an hour or so on it when we've been paying for multiple cpanel licenses for years and it should not be necessary to patch things by hand.

    I think others that rely on cpanel are going to surprised to see pkgacct no longer obeying exclusions.

    Steps to reproduce
    1. Create a dummy file in a dummy directory under a dummy user ie. /home/test/public_html/testing/abc.txt
    2. Edit the /home/test/cpbackup-exclude.conf and try to insert rules to exclude abc.txt or the testing directory entirely
    3. Move outside the /home/test directory, say for example /backup
    4. Backup using /scripts/pkgacct test /backup/ backup
    (the last "backup" on that line is to trigger the cpbackup mode instead of the cpmove mode and the file name will be simple)
    5. unpack the /backup/test.tar.gz file and then notice despite your rules, /testing/abc.txt is still in there

    For the record, this method worked for years.
    It broke sometime in the past year.
    If finding the date is critical, we keep backup logs so I could go through it month by month to find when backups started to bloat.
     
  7. Infopro

    Infopro cPanel Sr. Product Evangelist
    Staff Member

    Joined:
    May 20, 2003
    Messages:
    14,451
    Likes Received:
    195
    Trophy Points:
    63
    Location:
    Pennsylvania
    cPanel Access Level:
    Root Administrator
    Twitter:
    I can't speak to this directly, but cPanel has added an entirely new backup system. I would think that script was a part of that.

    I am unable to duplicate the issue, when excluding a directory. It works fine for me here. I have a directory with 450MB of files in it, I ran my backup and checked size. Killed that backup and added the directory to cpbackup-exclude.conf and then ran backup again. That directory was skipped as expected.

    I'm using the new backup system, not legacy. I did not attempt to do this again with a file name excluded, or file type.
     
Loading...

Share This Page