Topic "Delete of locked file fails, but winscp errorlevel is zero"

Author Message
ciove
[View user's profile]

Joined: 2011-06-22
Posts: 9
Bug description:
If source file at SFTP-server is locked (for example opened with MS-Word), and winscp-client tries to delete it, either with 'rm' command or with '-delete' option in 'get' command in a script, winscp.com does not show errormessage and does not increase errorlevel.

Version: winscp.com portable v. 3.0.0.127
Version of MS-Win: Windows 2003 Server R2 SP1
Server and protocol:
SFTP Server: CopSSH 1.4.5.2
Session protocol = SSH-2
SSH implementation = OpenSSH_5.0
Encryption algorithm = aes
Compression = ZLib
File transfer protocol = SFTP-3

I use scripting.
No error message.

The commandline and 'get -delete' script (sftp_test1.txt) and console output:

Quote:

C:\mylocalfolder\bin>winscp.com /ini=winscp.ini /script=sftp_test1.txt /log=sftp_test1.xml

Code:

option batch on
option confirm off
option transfer binary
open sftp://myaccount@myserver.mydomain.com:22 -privatekey=C:\mylocalfolder\keys\myserver.mydomain.com\myaccount\private_key.ppk -hostkey="ssh-rsa 1024 df:41:c3:32:a3:1c:d0:37:e3:b6:73:00:82:fa:5c:8d"
get -delete -preservetime ./testfile*.doc "\\mywinserver.myaddomain.com\myfolder\test\"
ls ./testfile*.doc*
exit


Quote:

C:\mylocalfolder\bin>dir>nul
C:\mylocalfolder\bin>winscp.com /ini=winscp.ini /script=sftp_test1.txt /log=sftp_test1.xml
batch on
confirm off
transfer binary
Searching for host...
Connecting to host...
Authenticating...
Using username "myaccount".
Authenticating with public key "rsa-key-20081125".
Authenticated.
Starting the session...
Reading remote directory...
Session started.
Active session: [1] myaccount@myserver.mydomain.com
testfile1.doc | 23 KiB | 113,4 KiB/s | binary | 100%
-rw-r--r-- 1 myaccount None 24064 Jun 23 15:12:30 2011 testfile1.doc

C:\mylocalfolder\bin>Echo %errorlevel%
0


The commandline and 'rm' script (sftp_test2.txt) and console output:
Quote:

C:\mylocalfolder\bin>winscp.com /ini=winscp.ini /script=sftp_test2.txt /log=sftp_test2.xml


Code:

option batch on
option confirm off
option transfer binary
open sftp://myaccount@myserver.mydomain.com:22 -privatekey=C:\mylocalfolder\keys\myserver.mydomain.com\myaccount\private_key.ppk -hostkey="ssh-rsa 1024 df:41:c3:32:a3:1c:d0:37:e3:b6:73:00:82:fa:5c:8d"
rm ./testfile*.doc
ls ./testfile*.doc*
exit


Quote:

C:\mylocalfolder\bin>Echo %errorlevel%
0
C:\mylocalfolder\bin>winscp.com /ini=winscp.ini /script=sftp_test2.txt /log=sftp_test2.xml
batch on
confirm off
transfer binary
Searching for host...
Connecting to host...
Authenticating...
Using username "myaccount".
Authenticating with public key "rsa-key-20081125".
Authenticated.
Starting the session...
Reading remote directory...
Session started.
Active session: [1] myaccount@myserver.mydomain.com
./testfile1.doc
-rw-r--r-- 1 myaccount None 24064 Jun 23 15:12:30 2011 testfile1.doc

C:\mylocalfolder\bin>Echo %errorlevel%
0
Advertisements
martin
[View user's profile]
Site Admin
Joined: 2002-12-10
Posts: 25015
Location: Prague, Czechia
Please post a full log file showing the problem.

To generate log file, enable logging, log in to your server and do the operation and only the operation that causes the error. For posting extensive logs you may use pastebin or similar application. Note that passwords and passphrases not stored in the log. You may want to remove other data you consider sensitive though, such as host names, IP addresses, account names or file names (unless they are relevant to the problem). If you do not want to post the log publicly, you may email it to me. You will find my address (if you log in) in my forum profile. Please include link back to this topic in your email. Also note in this topic that you have emailed the log.
_________________
Martin Prikryl
ciove
[View user's profile]

Joined: 2011-06-22
Posts: 9
Hi Martin,
Thanks for your reply. I've sent the logs to your email address.

Regards,
Ciove
ciove
[View user's profile]

Joined: 2011-06-22
Posts: 9
Hi,
I'm enclosing quote of Martin's email to me:

Quote:

As you can see in the log, WinSCP requests removal of the file and the server replies with status code 0 (success). So there's no way for WinSCP to know that there's a problem.

. 2011-07-06 13:19:04.990 Deleting file "/cygdrive/x/MyAccount/testfile1.doc".
> 2011-07-06 13:19:04.990 Type: SSH_FXP_REMOVE, Size: 71, Number: 4621
...
< 2011-07-06 13:19:05.037 Type: SSH_FXP_STATUS, Size: 24, Number: 4621
< 2011-07-06 13:19:05.037 Status code: 0



So this means that from sftp-client's perspective the delete was ok, but actually it was not.

Here's the warning: If your script deletes file, there is small possibility, that the file is not actually deleted. You should take this into consideration when automating the transfers.
Advertisements

You can post new topics in this forum






Search Site

What is WinSCP?

It is award-winning SFTP client, SCP client, FTPS client and FTP client integrated into one software program for file transfer to FTP server or secure SFTP server. [More]

And it's free!

Donate

About donations

$9   $19   $49   $99

About donations

Recommend

WinSCP Privacy Policy

WinSCP License