Date: Thu, 23 Oct 2003 12:34:40 +0100 From: Matthew Seaman <m.seaman@infracaninophile.co.uk> To: Scott Gerhardt <scott@g-it.ca> Cc: FreeBSD <freebsd-questions@freebsd.org> Subject: Re: Fwd: Help: tar & find Message-ID: <20031023113439.GC39601@happy-idiot-talk.infracaninophile.co.uk> In-Reply-To: <7F19C442-0513-11D8-8F40-000393801C60@g-it.ca> References: <7F19C442-0513-11D8-8F40-000393801C60@g-it.ca>
next in thread | previous in thread | raw e-mail | index | archive | help
--XWOWbaMNXpFDWE00 Content-Type: text/plain; charset=us-ascii Content-Disposition: inline Content-Transfer-Encoding: quoted-printable On Wed, Oct 22, 2003 at 10:43:50PM -0600, Scott Gerhardt wrote: >=20 > I am having trouble combining the tar and find command. I want to tar=20 > and > delete all .bak,.Bak,.BAK files. >=20 > I am using the following command but keep receiving errors. The tar=20 > command > appears to be receiving a truncated file/path (some of the time, but not > always), and trying to procecss the file as two files. >=20 > Any help on this would be great. >=20 > The script is as follows > =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D > #! /bin/bash > set +x > TAR_DIR=3D/home/tarbackups; > FILES_DIR=3D/home/common; > tar --remove-files -cvzpf $TAR_DIR/bak_files_`date +%F`.tar.gz\ > `find $FILES_DIR -xdev -type f -iname "*.bak"`; > =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D > The -xdev is to not desend into an external smb-mounted drive to a > subdirectory. >=20 > I have also tried substituting single quotes for the double quotes=20 > around the > *.bak >=20 > Here is some error output returned: >=20 > tar: jobs/ROOF: Cannot stat: No such file or directory > tar: LAYOUTS/RESIDENTIAL/FRASER/219: Cannot stat: No such file or=20 > directory > tar: LEWIS: Cannot stat: No such file or directory > tar: CRES.bak: Cannot stat: No such file or directory > tar: /home/technical/nfsapc30-my_documents/1999: Cannot stat: No such=20 > file or > directory > tar: jobs/ROOF: Cannot stat: No such file or directory > tar: LAYOUTS/RESIDENTIAL/FRASER/THODE: Cannot stat: No such file or=20 > directory > tar: RES.bak: Cannot stat: No such file or directory The problem is that you have file/directory names like 'ROOF LAYOUTS' which contain spaces and possibly other filenames containing characters with syntactic significance to the shell. Try: find $FILES_DIR -xdev -type f -iname "*.bak -print0 | \ xargs -0 tar --remove-files -cvzpf $TAR_DIR/bak_files_`date +%F`.ta= r.gz Cheers, Matthew --=20 Dr Matthew J Seaman MA, D.Phil. 26 The Paddocks Savill Way PGP: http://www.infracaninophile.co.uk/pgpkey Marlow Tel: +44 1628 476614 Bucks., SL7 1TH UK --XWOWbaMNXpFDWE00 Content-Type: application/pgp-signature Content-Disposition: inline -----BEGIN PGP SIGNATURE----- Version: GnuPG v1.2.3 (FreeBSD) iD8DBQE/l7zPdtESqEQa7a0RAuaJAJ9Nwj3sF5RuEHe9GQ+4pB0zKXjtqQCfdhH6 3DBZm8NBTpeR1aeO39efF9g= =LgE8 -----END PGP SIGNATURE----- --XWOWbaMNXpFDWE00--
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?20031023113439.GC39601>