Re: Bug in lftp mirror when using xfer:use-temp-file option

akshay gupta <[email protected]>
Newsgroups gmane.network.lftp.user,gmane.network.lftp.devel
Message-ID <CAB_qc73jArYF1RvGrUM0ATqRM8vCcwcEhaph9B==BjEYXFXZ7w@mail.gmail.com>
now its producing 0 byte files and i am also getting input/output error
here are the debug logs:

lftp [email protected]:~/Desktop/lftp> mirror --ignore-time
---> PASV
<--- 227 Entering Passive Mode (192,168,128,124,248,18)
---- Connecting data socket to (192.168.128.124) port 63506
---- Data connection established
---> LIST
<--- 150 Opening ASCII mode data connection for '/bin/ls'.
---- Got EOF on data connection
---- Closing data socket
<--- 226 Transfer complete.
---> TYPE I
<--- 200 Type set to I.
---> PASV
<--- 227 Entering Passive Mode (192,168,128,124,248,19)
---- Connecting data socket to (192.168.128.124) port 63507
---- Data connection established
---> RETR test.txt
<--- 150 Opening BINARY mode data connection for 'test.txt' (240 bytes).
---- Got EOF on data connection
---- Closing data socket
<--- 226 Transfer complete.
copy: renaming `/mount/user/tom/test.txt_tmp_' to `test.txt'
mirror: rename(/mount/user/tom/test.txt_tmp_, /mount/user/tom/test.txt):
Input/output error

---> PASV
<--- 227 Entering Passive Mode (192,168,128,124,248,51)
---- Connecting data socket to (192.168.128.124) port 63539
---- Data connection established
---> RETR .DS_Store
<--- 150 Opening BINARY mode data connection for '.DS_Store' (6148 bytes).
---- Got EOF on data connection
---- Closing data socket
<--- 226 Transfer complete.
copy: renaming `/mount/user/tom/.DS_Store_tmp_' to `.DS_Store'
mirror: rename(/mount/user/tom/.DS_Store_tmp_, /mount/user/tom/.DS_Store):
Input/output error

---> PASV
<--- 227 Entering Passive Mode (192,168,128,124,248,131)
---- Connecting data socket to (192.168.128.124) port 63619
---- Data connection established
---> RETR settings.xml
<--- 150 Opening BINARY mode data connection for 'settings.xml' (1737
bytes).
<--- 226 Transfer complete.
---- Got EOF on data connection
---- Closing data socket
copy: renaming `/mount/user/tom/settings.xml_tmp_' to `settings.xml'
mirror: rename(/mount/user/tom/settings.xml_tmp_,
/mount/user/tom/settings.xml): Input/output error

---> PASV
<--- 227 Entering Passive Mode (192,168,128,124,248,178)
---- Connecting data socket to (192.168.128.124) port 63666
---- Data connection established
---> RETR search-2.html
<--- 150 Opening BINARY mode data connection for 'search-2.html' (42518
bytes).
<--- 226 Transfer complete.
---- Got EOF on data connection
---- Closing data socket
copy: renaming `/mount/user/tom/search-2.html_tmp_' to `search-2.html'
mirror: rename(/mount/user/tom/search-2.html_tmp_,
/mount/user/tom/search-2.html): Input/output error

---> PASV
<--- 227 Entering Passive Mode (192,168,128,124,249,146)
---- Connecting data socket to (192.168.128.124) port 63890
---- Data connection established
---> RETR search-3.html
<--- 150 Opening BINARY mode data connection for 'search-3.html' (42569
bytes).
<--- 226 Transfer complete.
---- Got EOF on data connection
---- Closing data socket
copy: renaming `/mount/user/tom/search-3.html_tmp_' to `search-3.html'
mirror: rename(/mount/user/tom/search-3.html_tmp_,
/mount/user/tom/search-3.html): Input/output error

---> PASV
<--- 227 Entering Passive Mode (192,168,128,124,250,160)
---- Connecting data socket to (192.168.128.124) port 64160
---- Data connection established
---> RETR search-4.html
<--- 150 Opening BINARY mode data connection for 'search-4.html' (42569
bytes).
<--- 226 Transfer complete.
---- Got EOF on data connection
---- Closing data socket
copy: renaming `/mount/user/tom/search-4.html_tmp_' to `search-4.html'
mirror: rename(/mount/user/tom/search-4.html_tmp_,
/mount/user/tom/search-4.html): Input/output error

---> PASV
<--- 227 Entering Passive Mode (192,168,128,124,251,142)
---- Connecting data socket to (192.168.128.124) port 64398
---- Data connection established
---> RETR search.html
<--- 150 Opening BINARY mode data connection for 'search.html' (42519
bytes).
<--- 226 Transfer complete.
---- Got EOF on data connection
---- Closing data socket
copy: renaming `/mount/user/tom/search.html_tmp_' to `search.html'
mirror: rename(/mount/user/tom/search.html_tmp_,
/mount/user/tom/search.html): Input/output error

Total: 1 directory, 7 files, 0 symlinks
Modified: 7 files, 0 symlinks
178300 bytes transferred in 47 seconds (3.7 KiB/s)
To be removed: 0 directories, 7 files, 0 symlinks
7 errors detected




On Mon, Oct 27, 2014 at 5:01 PM, Alexander Lukyanov <[email protected]>
wrote:

> This change should fix the problem.
>
> https://github.com/lavv17/lftp/commit/b1164d695393cf8ec8429bb2b5caa9f05cfc4d39
>
> 2014-10-27 14:20 GMT+03:00 Alexander Lukyanov <[email protected]>:
>
>> I have found the bug. As a workaround, use "set xfer:clobber yes".
>>
>> 2014-10-27 13:06 GMT+03:00 akshay gupta <[email protected]>:
>>
>>> no, I am running as a root user. There is some issue with lftp, when
>>> file with same name already exist its not able to rename the temp file to
>>> actual file.
>>>
>>> On Mon, Oct 27, 2014 at 1:44 PM, Alexander V. Lukyanov <[email protected]>
>>> wrote:
>>>
>>>> On Mon, Oct 27, 2014 at 01:30:42PM +0530, akshay gupta wrote:
>>>> > ---> RETR test.txt
>>>> > <--- 150 Opening BINARY mode data connection for 'test.txt' (202
>>>> bytes).
>>>> > ---- Got EOF on data connection
>>>> > ---- Closing data socket
>>>> > <--- 226 Transfer complete.
>>>>
>>>> So the file cannot be renamed locally, right? Is there a permissions
>>>> problem?
>>>>
>>>> --
>>>>    Alexander.
>>>>
>>>> > On Mon, Oct 27, 2014 at 1:18 PM, Alexander Lukyanov <
>>>> [email protected]>
>>>> > wrote:
>>>> >
>>>> > > Can you provide a debug log? Why lftp cannot replace the old file?
>>>> > >
>>>> > > 2014-10-27 10:44 GMT+03:00 akshay gupta <[email protected]>:
>>>> > >
>>>> > >> Hi,
>>>> > >>
>>>> > >> I am trying to mirror files using lftp, I have tested a use case
>>>> where a
>>>> > >> file at the source machine gets modified but the file name remains
>>>> the
>>>> > >> same. After mirroring, lftp is unable to replace the old file and
>>>> also
>>>> > >> leaves a temporary file.
>>>> > >>
>>>> > >> For example. If source have file a.txt and its mirrored
>>>> successfully at
>>>> > >> the destination, now if I update a.txt append some content and
>>>> save it with
>>>> > >> same name. If I run lftp mirror again then its not able to replace
>>>> the
>>>> > >> existing a.txt but it also leaves the temp file a.txt_transit_
>>>> behind. And
>>>> > >> if i run the mirror multiple times it always downloads the changed
>>>> a.txt, i
>>>> > >> can see this from the lftp logs.
>>>> > >>
>>>> > >> Suggestion: Will it make sense to keep versions of the files as
>>>> they are
>>>> > >> updated at the source. Like if a.txt is changed at source then
>>>> lftp mirror
>>>> > >> will save it as a.txt_{TIMESTAMP}_. Every time a file is updated
>>>> it will be
>>>> > >> saved with a new time stamp. And mirror will consider these file
>>>> to decide
>>>> > >> whether to download or not.
>>>> > >>
>>>> > >>
>>>> > >> Thanks,
>>>> > >> Akshay
>>>> > >>
>>>> > >>
>>>> > >>
>>>> > >>
>>>> > >>
>>>> > >
>>>> > >
>>>> > > --
>>>> > >    Alexander.
>>>> > >
>>>>
>>>> > _______________________________________________
>>>> > lftp mailing list
>>>> > [email protected]
>>>> > http://univ.uniyar.ac.ru/mailman/listinfo/lftp
>>>>
>>>>
>>>
>>
>>
>> --
>>    Alexander.
>>
>
>
>
> --
>    Alexander.
>

_______________________________________________
lftp mailing list
[email protected]
http://univ.uniyar.ac.ru/mailman/listinfo/lftp
lmpx.com only provides a reader for public news (NNTP) servers. It is not affiliated with the servers or forums shown here and is not responsible for the content of articles, which is written by their respective authors.