Hello!
I use lftp-3.5.15 (with a patch delivered by Alexander) to reverse mirror files
in a WLAN environment, so I have frequent trouble with connection breaks.
After a lot of testing and very helpful advice from this group, I'm now using
the following parameters:
set ftp:list-empty-ok true
set net:timeout 10
set net:max-retries 2
set net:reconnect-interval-base 5
set net:reconnect-interval-multiplier 1
open ${FTPHOST}
user ${FTPUSR} ${FTPPW}
mirror -R --delete-first -L -e --max-errors=1 -p ${sourceDir} ${targetDir}
After a connection break, lftp quits with an error message. Hope this helps!
Regards,
Michael
>>> "Nate Murray" <[EMAIL PROTECTED]> 19.11.2008 02:23 >>>
Greetings,
while running lftp to mirror a significant amount of files, at some
point, it hangs.
The command looks something like:
lftp -c "set ftp:ssl-allow false;open -u user,password
ftp://ftp.site.com;mirror --reverse --dereference
--Remove-source-files --log=/path/to/log /path/to/files/ /"
Some nights, it works flawlessly. On others, however I get stuck. The
log doesn't update, and the strace below repeats.
I don't know if it helps, but I'm uploading to a yahoo small-business
web-server, and they do not have a good reputation for reliability.
Still, I'm not sure why lftp doesn't seem to reconnect. If I kill lftp
and restart it by hand it starts again and works.
Any thoughts? Thanks so much,
Nate
poll([{fd=8, events=POLLIN}], 1, 0) = 0
read(5, 0x747f70, 65536) = -1 EAGAIN (Resource
temporarily unavailable)
poll(
[{fd=8, events=POLLIN}, {fd=5, events=POLLIN, revents=POLLIN}], 2, 295539) = 1
poll([{fd=8, events=POLLIN}], 1, 0) = 0
read(5, "425 Can\'t build data connection"..., 65536) = 56
close(8) = 0
read(5, 0x747f70, 65536) = -1 EAGAIN (Resource
temporarily unavailable)
read(5, 0x747f70, 65536) = -1 EAGAIN (Resource
temporarily unavailable)
poll([{fd=5, events=POLLIN}], 1, 2000) = 0
socket(PF_INET, SOCK_STREAM, IPPROTO_TCP) = 8
fcntl(8, F_GETFL) = 0x2 (flags O_RDWR)
fcntl(8, F_SETFL, O_RDWR|O_NONBLOCK) = 0
fcntl(8, F_SETFD, FD_CLOEXEC) = 0
setsockopt(8, SOL_SOCKET, SO_KEEPALIVE, [1], 4) = 0
setsockopt(8, SOL_IP, IP_TOS, [8], 4) = 0
getsockname(5, {sa_family=AF_INET, sin_port=htons(25565),
sin_addr=inet_addr("192.168.1.17")}, [32488025980141584]) = 0
bind(8, {sa_family=AF_INET, sin_port=htons(0),
sin_addr=inet_addr("192.168.1.17")}, 16) = 0
listen(8, 1) = 0
getsockname(8, {sa_family=AF_INET, sin_port=htons(12267),
sin_addr=inet_addr("192.168.1.17")}, [32488025980141584]) = 0
write(5, "PORT 192,168,1,17,47,235\r\n", 26) = 26
poll([{fd=8, events=POLLIN}], 1, 0) = 0
read(5, 0x747f70, 65536) = -1 EAGAIN (Resource
temporarily unavailable)
poll([{fd=8, events=POLLIN}], 1, 0) = 0
read(5, 0x747f70, 65536) = -1 EAGAIN (Resource
temporarily unavailable)
poll([{fd=8, events=POLLIN}, {fd=5, events=POLLIN, revents=POLLIN}],
2, 299999) = 1
poll([{fd=8, events=POLLIN}], 1, 0) = 0
read(5, "200 PORT command successful.\r\n", 65536) = 30
poll([{fd=8, events=POLLIN}], 1, 0) = 0
read(5, 0x747f70, 65536) = -1 EAGAIN (Resource
temporarily unavailable)
write(5, "ALLO 13948\r\n", 12) = 12
poll([{fd=8, events=POLLIN}], 1, 0) = 0
read(5, 0x747f70, 65536) = -1 EAGAIN (Resource
temporarily unavailable)
poll([{fd=8, events=POLLIN}], 1, 0) = 0
read(5, 0x747f70, 65536) = -1 EAGAIN (Resource
temporarily unavailable)
poll([{fd=8, events=POLLIN}, {fd=5, events=POLLIN, revents=POLLIN}],
2, 300000) = 1
poll([{fd=8, events=POLLIN}], 1, 0) = 0
read(5, "202 ALLO command ignored.\r\n", 65536) = 27
poll([{fd=8, events=POLLIN}], 1, 0) = 0
read(5, 0x747f70, 65536) = -1 EAGAIN (Resource
temporarily unavailable)
write(5, "STOR bat836.html\r\n", 18) = 18
poll([{fd=8, events=POLLIN}], 1, 0) = 0
read(5, 0x747f70, 65536) = -1 EAGAIN (Resource
temporarily unavailable)
poll([{fd=8, events=POLLIN}], 1, 0) = 0
read(5, 0x747f70, 65536) = -1 EAGAIN (Resource
temporarily unavailable)
poll([{fd=8, events=POLLIN}, {fd=5, events=POLLIN, revents=POLLIN}],
2, 300000) = 1
poll([{fd=8, events=POLLIN}], 1, 0) = 0
read(5, "425 Can\'t build data connection"..., 65536) = 56
close(8) = 0
read(5, 0x747f70, 65536) = -1 EAGAIN (Resource
temporarily unavailable)
read(5, 0x747f70, 65536) = -1 EAGAIN (Resource
temporarily unavailable)
poll([{fd=5, events=POLLIN}], 1, 2000) = 0
socket(PF_INET, SOCK_STREAM, IPPROTO_TCP) = 8
fcntl(8, F_GETFL) = 0x2 (flags O_RDWR)
fcntl(8, F_SETFL, O_RDWR|O_NONBLOCK) = 0
fcntl(8, F_SETFD, FD_CLOEXEC) = 0
setsockopt(8, SOL_SOCKET, SO_KEEPALIVE, [1], 4) = 0
setsockopt(8, SOL_IP, IP_TOS, [8], 4) = 0
getsockname(5, {sa_family=AF_INET, sin_port=htons(25565),
sin_addr=inet_addr("192.168.1.17")}, [32488025980141584]) = 0
bind(8, {sa_family=AF_INET, sin_port=htons(0),
sin_addr=inet_addr("192.168.1.17")}, 16) = 0
listen(8, 1) = 0
getsockname(8, {sa_family=AF_INET, sin_port=htons(3640),
sin_addr=inet_addr("192.168.1.17")}, [32488025980141584]) = 0
write(5, "PORT 192,168,1,17,14,56\r\n", 25) = 25
poll([{fd=8, events=POLLIN}], 1, 0) = 0
read(5, 0x747f70, 65536) = -1 EAGAIN (Resource
temporarily unavailable)
poll([{fd=8, events=POLLIN}], 1, 0) = 0
read(5, 0x747f70, 65536) = -1 EAGAIN (Resource
temporarily unavailable)
poll([{fd=8, events=POLLIN}, {fd=5, events=POLLIN, revents=POLLIN}],
2, 300000) = 1
poll([{fd=8, events=POLLIN}], 1, 0) = 0
read(5, "200 PORT command successful.\r\n", 65536) = 30
poll([{fd=8, events=POLLIN}], 1, 0) = 0
read(5, 0x747f70, 65536) = -1 EAGAIN (Resource
temporarily unavailable)
write(5, "ALLO 13948\r\n", 12) = 12
poll([{fd=8, events=POLLIN}], 1, 0) = 0
read(5, 0x747f70, 65536) = -1 EAGAIN (Resource
temporarily unavailable)
poll([{fd=8, events=POLLIN}], 1, 0) = 0
read(5, 0x747f70, 65536) = -1 EAGAIN (Resource
temporarily unavailable)
poll([{fd=8, events=POLLIN}, {fd=5, events=POLLIN, revents=POLLIN}],
2, 300000) = 1
poll([{fd=8, events=POLLIN}], 1, 0) = 0
read(5, "202 ALLO command ignored.\r\n", 65536) = 27
poll([{fd=8, events=POLLIN}], 1, 0) = 0
read(5, 0x747f70, 65536) = -1 EAGAIN (Resource
temporarily unavailable)
write(5, "STOR bat836.html\r\n", 18) = 18
poll([{fd=8, events=POLLIN}], 1, 0) = 0
read(5, 0x747f70, 65536) = -1 EAGAIN (Resource
temporarily unavailable)
poll([{fd=8, events=POLLIN}], 1, 0) = 0
read(5, 0x747f70, 65536) = -1 EAGAIN (Resource
temporarily unavailable)
poll( <unfinished ...>