Hi,
I have a problem when running rsync over ssh. This might be a ssh
problem, but i've only seen it with rsync so far.
Every minute I rsync one file to 3 servers, and once in a while, there
are stray processes laying around.
Like this:
Oct23 0:07 /usr/sbin/crond -l10
01:38 0:00 \_ /bin/sh -c /bin/sh cronjob-server-stats.sh minute
01:38 0:00 | \_ /bin/sh cronjob-server-stats.sh minute
01:38 0:12 | \_ rsync -vv --no-blocking-io --rsh=ssh
minute_200310290138.status <user>@<server>:server_status/directory
01:38 0:00 | \_ ssh -l <user> <server> rsync --server
-vv .
server_status/<directory>
On the remote site, there is only a ssh running, where rsync seems to
have ended as it should.
This is what the log tells me:
opening connection using ssh -l <user> <server> rsync --server -vv .
server_status/directory
expand file_list to 4000 bytes, did move
minute_200310290138.status
total: matches=0 tag_hits=0 false_alarms=0 data=238
wrote 335 bytes read 36 bytes 742.00 bytes/sec
total size is 238 speedup is 0.64
opening connection using ssh -l <user> <server> rsync --server -vv .
server_status/directory
expand file_list to 4000 bytes, did move
minute_200310290138.status
total: matches=0 tag_hits=0 false_alarms=0 data=238
As you can se on the last transfer it ends after total, not displaying
the "wrote".
Stracing the remaining rsync process on the pusher side tells me this:
select(0, NULL, NULL, NULL, {0, 20000}) = 0 (Timeout)
gettimeofday({1067414375, 520175}, NULL) = 0
select(0, NULL, NULL, NULL, {0, 1000}) = 0 (Timeout)
gettimeofday({1067414375, 530124}, NULL) = 0
wait4(17785, 0xbfffe098, WNOHANG, NULL) = 0
gettimeofday({1067414375, 530281}, NULL) = 0
gettimeofday({1067414375, 530337}, NULL) = 0
over and over again. As you can see I've played with --blocking-io,
--no-blocking-io with no luck at all. I've added another -v, maybe I
should debug-flags aswell to get more information out of this?
Client side is openssh and remote side is "regular" ssh, both running
on
linux.
regards
Robin