• Please be aware: Kaspersky Anti-Virus has been deprecated
    With the upgrade to Plesk Obsidian 18.0.64, "Kaspersky Anti-Virus for Servers" will be automatically removed from the servers it is installed on. We recommend that you migrate to Sophos Anti-Virus for Servers.
  • The Horde webmail has been deprecated. Its complete removal is scheduled for April 2025. For details and recommended actions, see the Feature and Deprecation Plan.
  • We’re working on enhancing the Monitoring feature in Plesk, and we could really use your expertise! If you’re open to sharing your experiences with server and website monitoring or providing feedback, we’d love to have a one-hour online meeting with you.

psadump error

C

cpinto

Guest
Problem in psadump Backup in Redhat 3

/usr/local/psa/bin/psadump -F -f --nostop --tar-ignore-failed-read /home2/backups >> /home2/backups/logbackup

Dec 28 11:48:54 enterplek.server.com psadump: Can't use string ("<?xml version="1.0"?><psa versio") as a symbol ref while "strict refs" in use at /usr/lib/perl5/vendor_perl/5.8.0/i386-linux-thread-multi/XML/Parser/Expat.pm line 456.
Dec 28 11:49:06 enterplek.server.com psadump: Can't call method "getAttribute" on an undefined value at /usr/local/psa/lib/perl5/BU/PSA/Backup/DNS.pm line 36.

Thank you
 
what plesk version? if it's not the latest, possibly consider upgrading to see if that resolves your problem.
 
i have 7.5.4 RedHat el3 75050824.12 on one box, i see that's about two months before the release your using. either they introduced an error in that release or you have something funny going on on your box. odds are it's something with your box unless you see other people here complaining of the same thing.

i see in /usr/local/psa/lib/perl5/BU/PSA/Backup/DNS.pm in that install that's close to your version that line 36 is this:

Code:
printf_stderr("Warning: incorrect dns record is detected for domain '%s'(dom_id:$dom_id) (host:'$host', val:'$val', type:'$type')\n", $domains{$dom_id}->getAttribute('name'));

and that comes right after this:

Code:
my $query = dbDoQuery('SELECT dns.id, dns.type, host, val, opt, time_stamp, ipa.id FROM dns_recs dns LEFT JOIN IP_Addresses ipa ON 
(dns.type="A" AND dns.val=ipa.ip_address) OR (dns.type="PTR" AND dns.host=ipa.ip_address) WHERE dom_id="' . $dom_id . '"');
while (my ($id, $type, $host, $val, $opt, $time_stamp, $ip_address_id) = $query->fetchrow_array()) {
                        if (!$val || !$host || !$type) {

so it looks like the error occurs while trying to handle an error, the error being that a domain trying to be processed during the dump isn't valid. so, i think this is not really a bug but just error handling that didn't account for all scenarios.

that said, i suggest trying to find out if it is just due to one domain. if you're not familiar with perl, try doing a psadump specifying which domains to backup, start with a single domain. see if the dump completes successfully or if it fails even on one domain. if it fails on one, try it on some different domains (but one domain at a time). then, if you find that you can get it to work on one domain, keep trying different ones or groups of them until you can narrow down a specific domain that may be the problem.

the easier way to narrow it down, assuming you feel like some perl hacking, is to make a backup of the DNS.pm file and then modify it to show you what domain is the culprit. that's probably best way to debug this problem, but if you are unfamiliar with perl or afraid of messing things up (like, forgetting to backup before making changes), then that option isn't for you. --- if you do feel like doing this, it should yield and answer pretty quickly because you'll be able to see what domain id is the one missing the val, host or type fields. (you could also just run that same sql query without the WHERE clause to see if any of the returned results are missing the val, host or type, but i'm not sure that every domain is really being used in the dumpDNS subroutine, anyways, but that at least might give you an easy clue. if that did only show one domain missing values for one of those fields, though, then that would be the culprit.)

anyways, good luck narrowing down the problem domain/domain record
 
Exactly, a user modified dns of a domain and left some registers empty.

Thank you very much.
 
Back
Top