David Bogar's picture

Backup produces this error:

 

omparing current system state to the base state in the backup profile
----------------------------------------------------------------------

Save list of new packages:

  cat > /TKLBAM/newpkgs << EOF
  libodbc1 libslp1 lsof php5-ldap
  EOF

Traceback (most recent call last):
  File "/usr/bin/tklbam-backup", line 513, in <module>
    main()
  File "/usr/bin/tklbam-backup", line 446, in main
    opt_resume, True, dump_path if dump_path else "/")
  File "/usr/lib/tklbam/backup.py", line 237, in __init__
    self._create_extras(extras_paths, profile_paths, backup_conf)
  File "/usr/lib/tklbam/backup.py", line 175, in _create_extras
    conf.overrides.fs)
  File "/usr/lib/tklbam/backup.py", line 111, in _write_whatchanged
    changes = whatchanged(dirindex, paths)
  File "/usr/lib/tklbam/changes.py", line 265, in whatchanged
    changes += [ Change.Overwrite(path) for path in new + edited ]
  File "/usr/lib/tklbam/changes.py", line 92, in __init__
    self.uid = self.stat.st_uid
  File "/usr/lib/tklbam/changes.py", line 67, in stat
    self._stat = os.lstat(self.path)
OSError: [Errno 2] No such file or directory: '/var/spool/postfix/active/E73C2100B17D'

 

Can anyone let me know how to restart the backup?

Forum: 
Jeremy Davis's picture

TKLBAM is designed by default to resume if it is interrupted and then rerun. But in this instance it appears that a directory that was there last time it was interrupted has since gone...

To make it start clean (when it didn't finish last time) you can use the '--disable-resume' switch (as documented on the tklbam-backup man page).

FWIW you can find man pages for all TKLBAM commands in the docs here.

David Bogar's picture

I tried that option and still get the same response. I can't seem to get it to re-start a brand new backup, even with the --disable-resume switch. Is there some kind of cache or index that was created?

Jeremy Davis's picture

Does the /TKLBAM directory exist?
ls /TKLBAM
If so you could try manually moving (so TKLBAM can't see it anymore) and see what happens...
mv /TKLBAM /TKLBAM-old
Then try again... If that works then the old TKLBAM directory can safely be deleted:
rm -r /TKLBAM-old
Otherwise I'll probably have to get Liraz on the job to have a look...
David Bogar's picture

The backup directory did not exsist. I created it and it is still producing the error. After the backup ends the TKLBAM directory is no longer there. No luck - full output from command.

 

root@wordpress /# tklbam-backup --disable-resume
Creating /TKLBAM (contains backup metadata and database dumps)
==============================================================

  mkdir -p /TKLBAM
  mkdir /TKLBAM/etc

// needed to automatically detect and fix file ownership issues

  cp /etc/passwd /TKLBAM/etc
  cp /etc/group /TKLBAM/etc

Comparing current system state to the base state in the backup profile
----------------------------------------------------------------------

Save list of new packages:

  cat > /TKLBAM/newpkgs << EOF
  libodbc1 libslp1 lsof php5-ldap
  EOF

Traceback (most recent call last):
  File "/usr/bin/tklbam-backup", line 513, in <module>
    main()
  File "/usr/bin/tklbam-backup", line 446, in main
    opt_resume, True, dump_path if dump_path else "/")
  File "/usr/lib/tklbam/backup.py", line 237, in __init__
    self._create_extras(extras_paths, profile_paths, backup_conf)
  File "/usr/lib/tklbam/backup.py", line 175, in _create_extras
    conf.overrides.fs)
  File "/usr/lib/tklbam/backup.py", line 111, in _write_whatchanged
    changes = whatchanged(dirindex, paths)
  File "/usr/lib/tklbam/changes.py", line 265, in whatchanged
    changes += [ Change.Overwrite(path) for path in new + edited ]
  File "/usr/lib/tklbam/changes.py", line 92, in __init__
    self.uid = self.stat.st_uid
  File "/usr/lib/tklbam/changes.py", line 67, in stat
    self._stat = os.lstat(self.path)
OSError: [Errno 2] No such file or directory: '/var/spool/postfix/active/0AD871014454'

 

 

 

Jeremy Davis's picture

Ok first thing I'd try next is to see if you are using an old version of TKLBAM (probably should have done this first...)
apt-get update && apt-get install tklbam tklbam-squid-common tklbam-squid tklbam-python-boto tklbam-duplicity

TBH I'm not sure whether we need to list all the TKLBAM dependancies too but it won't hurt...

If that just says that they are all at the latest version; that's ok. Otherwise let them update and try again (as per above).

If that doesn't make any difference then the next thing that we could try is to exclude that particular path. You can test with this:

tklbam-backup --simulate -- -/var/spool/postfix/active/

If that works then try running it again without the '--simulate' switch...

FYI the "-- -/path" makes tklbam skip that path (and all the files & directories within it) but only for that session. Permanent overrides are set in /etc/tklbam/overrides

Add new comment