On 11/14/2011 2:29 AM, Voelker, Bernhard wrote:
rsync -avx --delete --include=/file --exclude='*' . host2:deltest/.

This didn't work for me, although one difference is my script specifies a path instead of "." Does this only work with literally "." in the places above?

My script parses the given command line into a path/file (dirname/basename) pair and drops the path part in the same places you have "." above.

Basically, to push a file out to all hosts, the user says:
pushfile /path/to/some/thing [host(s)...]

(* optional target host(s), defaults to all hosts listed in a config file if not specified)

That normally results in:
P=/path/to/some
F=thing
h=target_host
OPTS=-acv
rsync $OPTS ${P}/$F ${h}::root$P


For the new delete mode it detects if the supplied argument doesn't exist locally and does this instead:
P=/path/to/some
F=thing
h=target_host
OPTS="-acv --delete"
rsync $OPTS --include=/$F --exclude='*' $P ${h}::root$P

Which to me looks the same as what you did except that I'm using an explicit full path with leading "/" in $P instead of "."

But when it runs the remote file is not deleted.

After creating /tmp/floof/{1,2,3} locally and pushing that all out to a remote box, then deleting /tmp/floof/2 locally, then trying to push out the non-existing /tmp/floof/2 to the same remote host, I just get:

----------
sending incremental file list
rsync: link_stat "/tmp/floof/2" failed: No such file or directory (2)

sent 12 bytes  received 12 bytes  48.00 bytes/sec
total size is 0  speedup is 0.00
rsync error: some files/attrs were not transferred (see previous errors) (code 23) at main.c(1042) [sender=3.0.7]
----------

--
bkw
--
Please use reply-all for most replies to avoid omitting the mailing list.
To unsubscribe or change options: https://lists.samba.org/mailman/listinfo/rsync
Before posting, read: http://www.catb.org/~esr/faqs/smart-questions.html

Reply via email to