From: Robert C. <rob...@ti...> - 2009-03-18 23:46:52
|
In response to two threads from May-June 2008: Re: [flexbackup-help] flexbackup-help Digest, Vol 9, Issue 1 Re: [flexbackup-help] flexbackup error (Apologies for lack of reference headers -- I've just joined the list and my email software hasn't seen the above threads.) I'm experiencing a problem which sounds similar to Andrew Schein's. My home directory contains a 'directory' called .gvfs, of zero bytes; when I ask flexbackup to back up /home (sudo flexbackup -set home), it starts creating a .tar.gz file, does about 100 MB, then stops and deletes the .tar.gz file. And in the log there's a similar 'find' error: === START EXTRACT == cd "/home" && /tmp/flexbackup.11443.venus/collectexit.11443.sh find . \ -depth -xdev ! -type s ! -regex ".*/[Cc]ache/.*" ! -regex ".*~"$ \ -print0 | /tmp/flexbackup.11443.venus/collectexit.11443.sh tar --create \ --null --files-from=- --ignore-failed-read --same-permissions \ --no-recursion --totals --label "level 0 /home Wed Mar 18 17:44:38 2009 \ tar+gzip from venus" --verbose --sparse -b 20 --file - | \ /tmp/flexbackup.11443.venus/collectexit.11443.sh gzip -4 | \ /tmp/flexbackup.11443.venus/collectexit.11443.sh buffer -m 10m -p 75 -s \ 10k -t -o "/media/backup4mb/venus/home.0.200903181744.tar.gz" [ ! -e /tmp/flexbackup.11443.venus/exitstatus.11443 ] ------------------------------------------------------------ find: ./robert/.gvfs: Permission denied === END OF EXTRACT === I'm running gNewSense 2.1 "Deltah" (based on Ubuntu 8.04 LTS--"Hardy"). I keep trying to add a $prune line for /home, but perhaps my regexp syntax could be improved: $prune{'/home'} = ".gvfs"; $prune{'/home'} = "robert/.gvfs"; $prune{'/home'} = "robert/\.gvfs"; $prune{'/home'} = "\.*\\.gvfs"; None of these prevent 'find' from erroring on that file. Can I "prune" my way out of this? Any advice gratefully received :-) Thank you very much, Robert |
From: Niall B. <ni...@la...> - 2009-03-19 11:48:29
|
Hi Robert, I can confirm that I'm using a stock flexbackup 1.2.1-6 on ubuntu 8.10 without this issue. I usually use a different product (backuppc actually) for nightly home directories, so I thought I might just not have been hit by it. I use flexbackup for mail spools and config directories as well as for snapshot backups before doing any reconfiguration tasks... I added a /home stanza to my flexbackup.conf and ran the job both with users logged in to GNOME (so ,gvfs was active), and late at night so that it wasn't. I do get the same "find: `./.gvfs': Permission denied" entry in my log, but it is not a showstopper. What backup format and medium are you choosing? Would you mind posting your settings using something like: * egrep -v -e '(^#|^$)' /etc/flexbackup.conf * Do you actually have a set defined as /home, or is it /home/robert ? Your prune expressions are not being honoured according to your log. You might find defining a set as /home/robert and adding $prune{'/home/robert'} = ".gvfs"; might be more effective. You should probably put it into an exclude_expr as well as in: *$exclude_expr[2] = '.*/.gvfs/.*'; *Good luck with it, I'll be watching with interest. I've been using flexbackup for years, and there's always a way out of these hiccups! NiallB * *2009/3/18 Robert Canner <rob...@ti...> > I'm experiencing a problem which sounds similar to Andrew Schein's. My > home directory contains a 'directory' called .gvfs, of zero bytes; when > I ask flexbackup to back up /home (sudo flexbackup -set home), it starts > creating a .tar.gz file, does about 100 MB, then stops and deletes > the .tar.gz file. And in the log there's a similar 'find' error: > > === START EXTRACT == > > find: ./robert/.gvfs: Permission denied > === END OF EXTRACT === > > I'm running gNewSense 2.1 "Deltah" (based on Ubuntu 8.04 LTS--"Hardy"). > > I keep trying to add a $prune line for /home, but perhaps my regexp > syntax could be improved: > $prune{'/home'} = ".gvfs"; > $prune{'/home'} = "robert/.gvfs"; > $prune{'/home'} = "robert/\.gvfs"; > $prune{'/home'} = "\.*\\.gvfs"; > None of these prevent 'find' from erroring on that file. > > Can I "prune" my way out of this? > Any advice gratefully received :-) > > Thank you very much, > Robert > > |
From: Robert C. <rob...@ti...> - 2009-03-20 00:35:21
|
On Thu, 2009-03-19 at 10:51 +0000, Niall Brosnan wrote: > I can confirm that I'm using a stock flexbackup 1.2.1-6 on ubuntu 8.10 > without this issue. > ... > I do get the same "find: `./.gvfs': Permission denied" entry in my > log, > but it is not a showstopper. What backup format and medium are you > choosing? > Would you mind posting your settings using something like: > > egrep -v -e '(^#|^$)' /etc/flexbackup.conf > ... Many thanks Niall. I'm using flexbackup version 1.2.1-6, with .tar.gz output format, writing to a 4.3GB drive in an external housing, connected by USB. The external drive has ext3 file system and 2.7 GB free space. In fact that extract from the log was +before+ I added any $prune expressions. Here is the flexbackup.conf that was used: robert@venus:~$ egrep -v -e '(^#|^$)' /etc/flexbackup.conf $type = 'tar'; $set{'home'} = "/home"; $set{'etc'} = "/etc"; $set{'usrlocal'} = "/usr/local"; $set{'var'} = "/var"; $prune{'/'} = "tmp proc"; $compress = 'gzip'; $compr_level = '4'; $buffer = 'buffer'; $buffer_megs = '10'; $buffer_fill_pct = '75'; $buffer_pause_usec = '100'; $device = '/media/backup4mb/venus'; $blksize = '10'; $mt_blksize = "0"; $pad_blocks = 'true'; $remoteshell = 'ssh'; $remoteuser = ''; $label = 'true'; $verbose = 'true'; $sparse = 'true'; $indexes = 'true'; $staticfiles = 'false'; $atime_preserve = 'false'; $traverse_fs = 'false'; $exclude_expr[0] = '.*/[Cc]ache/.*'; $exclude_expr[1] = '.*~$'; $erase_tape_set_level_zero = 'true'; $erase_rewind_only = 'false'; $logdir = '/var/log/flexbackup'; $comp_log = 'gzip'; $staticlogs = 'false'; $prefix = ''; $tmpdir = '/tmp'; $stampdir = '/var/lib/flexbackup'; $index = '/var/lib/flexbackup/index'; $keyfile = '00-index-key'; $sprefix = ''; $afio_nocompress_types = 'mp3 MP3 Z z gz gif zip ZIP lha jpeg jpg JPG taz tgz deb rpm bz2 lzo'; $afio_echo_block = 'false'; $afio_compress_threshold = '3'; $afio_compress_cache_size = '2'; $tar_echo_record_num = 'false'; $cpio_format = 'newc'; $dump_length = '0'; $dump_use_dumpdates = 'false'; $star_fifo = 'true'; $star_acl = 'true'; $star_format = 'exustar'; $star_echo_block_num = 'false'; $pax_format = 'ustar'; $zip_nocompress_types = 'mp3 MP3 Z z gz gif zip ZIP lha jpeg jpg JPG taz tgz deb rpm bz2 lzo'; $pkgdelta_archive_list = 'rootonly'; $pkgdelta_archive_unowned = 'true'; $pkgdelta_archive_changed = 'true'; 1; I used the command "sudo flexbackup -set home". After the message "find: ./robert/.gvfs: Permission denied", the log continued: === START EXTRACT === level 0 /home Wed Mar 18 17:44:38 2009 tar+gzip from venus ./lost+found/ ./robert/.bash_logout ... Total bytes written: 217221120 (208MiB, 6.9MiB/s) Kilobytes Out 98135 ERROR: non-zero exit from: find . -depth -xdev ! -type s ! -regex .*/[Cc]ache/.* ! -regex .*~$ -print0 ERROR: exiting |------------------------------------------------------------ | Backup start: Wed Mar 18 17:44:38 2009 === END OF EXTRACT === Based on your suggestions, I have added 3 lines to flexbackup.conf: $set{'homerobert'} = "/home/robert"; $prune{'/home/robert'} = ".gvfs"; $exclude_expr[2] = '.*/.gvfs/.*'; and run "sudo flexbackup -set homerobert". Again in Nautilus, I saw it gradually write a .tar.gz file of about 90 MB, then finally delete the output file: === LOG 2 EXTRACT === | Backup of: /home/robert | Date of this level 0 backup: Thu Mar 19 23:54:10 2009 | Date of last level 0 backup: the epoch |------------------------------------------------------------ | cd "/home/robert" && /tmp/flexbackup.6857.venus/collectexit.6857.sh find \ | . -regex "\./\(.gvfs\)/.*" -prune -o -xdev ! -type s ! -regex \ | ".*/[Cc]ache/.*" ! -regex ".*~"$ ! -regex ".*/.gvfs/.*" -print0 | \ | /tmp/flexbackup.6857.venus/collectexit.6857.sh tar --create --null \ | --files-from=- --ignore-failed-read --same-permissions --no-recursion \ | --totals --label "level 0 /home/robert Thu Mar 19 23:54:10 2009 \ | tar+gzip from venus" --verbose --sparse -b 20 --file - | \ | /tmp/flexbackup.6857.venus/collectexit.6857.sh gzip -4 | \ | /tmp/flexbackup.6857.venus/collectexit.6857.sh buffer -m 10m -p 75 -s \ | 10k -t -o "/media/backup4mb/venus/home-robert.0.200903192354.tar.gz" | [ ! -e /tmp/flexbackup.6857.venus/exitstatus.6857 ] |------------------------------------------------------------ find: warning: you have specified the -xdev option after a non-option argument -regex, but options are not positional (-xdev affects tests specified before it as well as those specified after it). Please specify options before other arguments. find: ./.gvfs: Permission denied level 0 /home/robert Thu Mar 19 23:54:10 2009 tar+gzip from venus ./ ./.bash_logout ... Kilobytes Out 98257 ERROR: non-zero exit from: find . -regex \./\(.gvfs\)/.* -prune -o -xdev ! -type s ! -regex .*/[Cc]ache/.* ! -regex .*~$ ! -regex .*/.gvfs/.* -print0 ERROR: exiting./.dmrc |------------------------------------------------------------ | Backup start: Thu Mar 19 23:54:10 2009 === LOG 2 EXTRACT ENDS === The 'find' warning doesn't seem critical. Anyway, I'm now thinking I should try to unmount my .gvfs before allowing flexbackup to start ... Robert |
From: Robert C. <rob...@ti...> - 2009-03-21 00:06:27
|
On Fri, 2009-03-20 at 00:35 +0000, Robert Canner wrote: > On Thu, 2009-03-19 at 10:51 +0000, Niall Brosnan wrote: > > I can confirm that I'm using a stock flexbackup 1.2.1-6 on ubuntu 8.10 > > without this issue. > > ... > > > I do get the same "find: `./.gvfs': Permission denied" entry in my > > log, > > but it is not a showstopper. What backup format and medium are you > > choosing? > > ... > > Many thanks Niall. I'm using flexbackup version 1.2.1-6, with .tar.gz > output format, writing to a 4.3GB drive in an external housing, > ... > robert@venus:~$ egrep -v -e '(^#|^$)' /etc/flexbackup.conf > $type = 'tar'; > $set{'home'} = "/home"; > ... > ... Anyway, I'm now thinking I > should try to unmount my .gvfs before allowing flexbackup to start ... Yes, that was the solution. According to 'mount', gnome-fuse-daemon was mounted on my .gvfs. I needed to unmount it before the backup. First I reverted to my original flexbackup.conf (the one without any ".gvfs" prune/exclude expressions). Then I used $ fusermount -u ~/.gvfs to unmount the daemon from .gvfs. Then $ sudo flexbackup -set home backed up /home without errors. 'find' simply treated .gvfs as an empty directory :-) Q. I didn't create .gvfs ... Where did it come from and who mounted this daemon on it? A. As far as I can tell (1) GNOME automatically creates ~/.gvfs (2) it is designed as a mount point for gnome-fuse-daemon (3) GNOME automatically mounts it. (gnome-fuse-daemon is in the gvfs-fuse package.) Q. What happens if you unmount this? Is it safe? A. It seems fairly safe. It certainly seems sensible to unmount it before root tries to back up your home directory. GNOME re-mounts it automatically next time you log in. Package versions: gvfs-fuse 0.2.3-0ubuntu4, gvfs 0.2.3-0ubuntu4, fuse-utils 2.7.2-1ubuntu2, gnome-about 1:2.22.1-0ubuntu6gnewsense1. Many thanks Niall, Robert |
From: Niall B. <ni...@la...> - 2009-03-21 09:24:22
|
Hi Robert, Is it possible that the .gvfs is the last entry logged that isn't a problem, and that the problem is elsewhere and failing? The error message is from find, but the failure is from tar. How about creating another user account on the machine, and running a comparison backup for that home directory? How much diskspace is your home directory using? Is 208MB a large percentage of it? Have you any unusual files (such as large video) in your home directory? Have you any other backups on the system that complete that are larger? You could also try switching to an rsync archive type for a few runs, and see if the problem is expressed differently. Good luck with it. I'm very interested because if there's a .gvfs issue around that can be triggered easily, it could affect a lot of us. Niall |
From: Robert C. <rob...@ti...> - 2009-03-25 12:21:44
|
On Sat, 2009-03-21 at 09:18 +0000, Niall Brosnan wrote: > Hi Robert, > > Is it possible that the .gvfs is the last entry logged that isn't a > problem, > and that the problem is elsewhere and failing? The error message is > from find, > but the failure is from tar. > How about creating another user account on the machine, and running a > comparison backup for that home directory? > How much diskspace is your home directory using? Is 208MB a large > percentage of it? > Have you any unusual files (such as large video) in your home > directory? > Have you any other backups on the system that complete that are > larger? > > You could also try switching to an rsync archive type for a few runs, > and see if the problem is expressed differently. > > Good luck with it. I'm very interested because if there's a .gvfs > issue around that can be triggered easily, it could affect a lot of > us. Hi Niall: /home/robert is 187.9 MB, so that's most of 208 MiB :-) And I haven't attempted any larger backups on this PC. No large videos either; my largest file is 14227366 bytes: ~/.gnome2/epiphany/mozilla/epiphany/Cache/_CACHE_003_ However it does seem to be the .gvfs 'find' error that is causing flexbackup to delete my archive. I created new user 'fred' as a test: Logged in as fred once - logged out - /home/fred was using 28KB. At this point flexbackup hit the same .gvfs find error, and the archive was deleted: robert@venus:~$ sudo flexbackup -set homefred ... find: ./.gvfs: Permission denied level 0 /home/fred Tue Mar 24 21:59:12 2009 tar+gzip from venus ... ERROR: non-zero exit from: find . -depth -xdev ! -type s ! -regex .*/[Cc]ache/.* ! -regex .*~$ -print0 ERROR: exiting ... Logged in as fred again - ran 'fusermount -u .gvfs' - logged out - logged in as robert again - ran 'sudo flexbackup -set homefred'. This time there were no errors in the log and the archive was left on the output device. Looking at the code, flexbackup seems to wait until find, tar, etc. have all completed, then check for errors afterwards. If it notices an error, then the code tries to delete the output file(s). None of this explains why flexbackup actually deletes the archive on my system, but not on yours. The code does mention an ignore-errors option; presumably you're not using that? I expect you've got more up-to-date versions of findutils, gvfs-fuse etc. than I have. If so, presumably you are benefitting from some fix or other that hasn't percolated through to gNewSense yet. (I have findutils version 4.2.32-1ubuntu2, and libc6 version 2.7-10ubuntu3.) All the best, Robert |