I've a particular situation in which I need to sometimes
delete one or two files from a remote site. I haven't
figured out a way to do it with rsync yet... I've considered
playing games with --exclude and --delete but I'm a bit
nervous of the chances of mayhem by a simple error.
Situation is a remote repository to which files are
added on occasion; there is no local copy. On occasion
it is necessary to delete one or two files by name.
It certainly would be nice to be able to do this via
rsync. I've looked at the shell command hack but don't
see a way to get a remote 'rm /mydir/foo' to execute
that way.
Please respond directly as I am not on the list,
although I will try to check in through the samba.org
web pages.
--
------------------------------------------------------
Dale Amon amon@islandone.org +44-7802-188325
International linux systems consultancy
Hardware & software system design, security
and networking, systems programming and Admin
"Have Laptop, Will Travel"
------------------------------------------------------
-------------- next part --------------
A non-text attachment was scrubbed...
Name: not available
Type: application/pgp-signature
Size: 189 bytes
Desc: Digital signature
Url :
http://lists.samba.org/archive/rsync/attachments/20041028/aee8e827/attachment.bin
On Thu, Oct 28, 2004 at 01:15:18PM +0100, Dale Amon wrote:> I've looked at the shell command hack but don't see a way to get a > remote 'rm /mydir/foo' to execute that way.If you're using ssh or rsh as your rsync connection, you can simply do this: ssh host rm /mydir/foo /mydir/bar /yourdir/baz or even this: ssh host xargs rm -rf </tmp/local-list-of-files-and-dirs If you're trying to do this by talking to a daemon or a restricted rsync-only ssh setup, you should be able to transfer an empty directory with some simple excludes to do what you want, but it's easiest to copy into each directory separately. For instance, if you want to delete mydir/foo, mydir/bar, and yourdir/baz on host "host" in module "mod", you could do this: mkdir emptydir rsync -av --include=foo --include=bar --exclude='*' --delete emptydir/ host::mod/mydir rsync -av --include=baz --exclude='*' --delete emptydir/ host::mod/yourdir rmdir emptydir ..wayne..