Winscp не копирует файлы
Для удобства работы с удаленными Linux серверами и обычными машинами многие начинающие пользователи использую программу WinSCP. Она и вправду очень удобная и простая в использование в отличии например от PuTTY, напоминает обычный проводник Windows. Но важно понимать что WinSCP это клиент который предназначен для копирования файлов, конечно с его помощью можно настраивать config и изменять другие файлы. Но выполнить какую либо команду не получиться, например, запустить службу или установить её. Для этих целей придется обратиться к PuTTY. Сегодня рассмотрим ошибку «Доступ запрещен, код ошибки 3» которая может появиться во время каких либо действий с файлами, копирования, перемещения, изменения и т.д. Говорит это о том что у Вас не хватает прав, но давайте обо всем по порядку.
Same Error 206 bug using version 5.14.4 RC (Build 9136)
I get the same error using 5.14.4 RC (Build 9136) build over FTP. I thought this bug was addressed in previous version. Am I missing something? Also, can I skip over files/directories with this error to backup the rest of my files?
Here is the WinSCP log:
. 2019-02-19 21:47:33.242 File: '/[. ]/Background Checks' [2014-01-01T10:55:11.000Z] [0]
* 2019-02-19 21:47:33.242 (EOSError) System Error. Code: 206.
* 2019-02-19 21:47:33.242 The filename or extension is too long
. 2019-02-19 21:47:33.242 Asking user:
. 2019-02-19 21:47:33.242 Error creating folder 'E:\FTP_Box_Backup\[. ]\Background Checks'. ("System Error. Code: 206.
< 2019-02-19 21:47:33.242 The filename or extension is too long
* 2019-02-19 21:47:33.242 (ESkipFile) Error creating folder 'E:\FTP_Box_Backup\[. ]\Background Checks'.
* 2019-02-19 21:47:33.242 System Error. Code: 206.
* 2019-02-19 21:47:33.242 The filename or extension is too long
. 2019-02-19 21:47:33.242 Script: Failed
. 2019-02-19 21:47:33.242 Script: Exit code: 1
. 2019-02-19 21:47:33.273 Disconnected from server
martin◆
Site Admin Joined: 2002-12-10 Posts: 37,167 Location: Prague, Czechia
I get the same error using 5.14.4 RC (Build 9136) build over FTP. I thought this bug was addressed in previous version. Am I missing something? Also, can I skip over files/directories with this error to backup the rest of my files?
Here is the WinSCP log:
. 2019-02-19 21:47:33.242 File: '/[. ]/Background Checks' [2014-01-01T10:55:11.000Z] [0]
* 2019-02-19 21:47:33.242 (EOSError) System Error. Code: 206.
* 2019-02-19 21:47:33.242 The filename or extension is too long
Thanks for your report.
Can you send me an email, so I can send you back a development version of WinSCP for testing? Please include link back to this topic in your email. Also note in this topic that you have sent the email. Thanks.
When facing an issue with WinSCP, following resources and hints may help you to resolve the issue yourself:
- Try to find solution in F.A.Q, in our numerous guides or in this documentation. Use Search box on the top right.
- If you are getting an error message, check the list of common error messages.
- Try to find a solution in tens of thousands answered questions on WinSCP support forum. Again, use the Search box on the top right, but navigate to the forum before you do so. – Alternatively, select “Support forum” in the search results.
- There are hundreds of WinSCP questions answered on Stack Overflow and Super User sites.
- Make sure you are using the latest version of WinSCP.
- If some feature of WinSCP is not working as you expect, check the documentation of the respective dialog box (use Help button). You may be missing a configuration option or may not understand what the feature actually does.
- If you wonder why some feature of WinSCP is or not available (is disabled/grayed), check the documentation of the respective dialog box (use Help button).
Bug 1337
Вопрос
Добрый день,
Нужна помощь в дописании скрипта. Скрипт выполняет следующие условия:
- Подключиться к SFTP серверу WinSCP
- Файл Dir_WinScp.txt в котором указан путь к локальной папке C:\Temp
- Файл DirArch_WinScp .txt в котором перечисляются удаленные папки на SFTP сервере:
/users/test/ms/ttr/archive/*
/ users/test/ms/invoice/archive/* - Копировать файлы из удаленных каталогов
- Удалить файлы после копирования
- Отключиться от SFTP сервера
Скрипт должен копировать файлы старше 6 месяцев (180 дней) по маске имени файла. Маска имени файла имеет следующий вид YYYYmm_Folder.7z:
Folder - имя папки которую архивировали
Заранее Спасибо за помощь
Все ответы
Файл содержит Dir_WinScp.txt:
- Изменено Kazun Editor 3 августа 2015 г. 12:05
- Предложено в качестве ответа Alexander Rusinov Moderator 3 августа 2015 г. 13:59
При выполнение скрипта выдает ошибку.
PS C:\sftp> C:\SFTP\dev_1.ps1
Исключение при вызове "ListDirectory" с "1" аргументами: "Error listing directory '/users/test/ms/ttr/archive/*.7z'."
а встроенными скриптами не пробовали? WinSCP Scripting and Task Automation
У меня консольная утилита формировала файлы конфигураций(скрипты), затем запускался bat-ник, все работает отлично. Один минус - консольная программа winscp работает в один поток, но их можно запустить несколько копий с разными конфигами.
Прочитав несколько форумов и не найдя решения, сделав вывод что листинг директории не поддерживает расширение файлов. Удалил расширение файла
, получил следующую ошибку:
Исключение при вызове "Substring" с "2" аргументами: "Индекс и длина должны указывать на позицию в строке.
Имя параметра: length"
Пример исправленного скрипта:
Файл содержит Dir_WinScp.txt:
Буду благодарен за любую помощь.
Как я понимаю метод Substring(0,6) позволяет извлечь 6 первых символов из маски имени файла, которая соответствует yyyyMM. Когда я указываю условие Substring(0) - извлекаются все символы после заданного, условие отрабатывает. Почему не выполняется условие Substring(0,6)? Может проблема с оболочкой WinSCP?
Кто-нибудь может помочь пофиксить ошибку?
В чем проблема привести вывод для любой папки?
$session . ListDirectory ( "$i" ). Files
Правильно Вас понял, этот вывод Вам нужен?
PS C:\sftp> $i
/users/test/ms/invoice/archive
PS C:\sftp> $session.ListDirectory("$i").Files
Исключение при вызове "ListDirectory" с "1" аргументами: "Object is disposed"
строка:1 знак:1
+ $session.ListDirectory("$i").Files
+ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
+ CategoryInfo : NotSpecified: (:) [], MethodInvocationException
+ FullyQualifiedErrorId : InvalidOperationException
При выполнении вышеуказанного скрипта, получил следующий результат:
PS C:\sftp> C:\SFTP\TEST007.ps1
Результат:
PS C:\sftp> C:\SFTP\TEST007.ps1
Name
----
.
..
201201_Temp1.7z
201302_Temp1.7z
- Помечено в качестве ответа Kazun Editor 4 сентября 2015 г. 10:36
Скрипт отработал без ошибок, файлы старше 6 месяцев переместились. Как быть с блоками Try/Catch/Finally?
Не могли бы Вы более подробно описать чем и как осуществляется контроль ошибок в этом скрипте. Спасибо.
Столкнулся со следующей проблемой, когда в удаленном каталоге присутствует архивы с разной длиной имени файла. Имя архива состоит из 1-2 символов (Пример 08.7zip или A1.7zip), который не соответствует заданному формату YYYYmm.
Скрипт не отрабатывает, выбивает ошибку:
PS C:\sftp> C:\SFTP\TEST001.ps1
Исключение при вызове "Substring" с "2" аргументами : " Индекс и длина должны указывать на позицию в строке .
Имя параметра : length"
C:\SFTP\TEST001.ps1:32 знак :6
+ if([DateTime]::TryParseExact($_.Name.SubString(0,6),"yyyyMM",[Globalization.Cu .
+ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
+ CategoryInfo : NotSpecified: (:) [], MethodInvocationException
+ FullyQualifiedErrorId : ArgumentOutOfRangeException
Когда длина имени файла состоит от 3 и более символов скрипт отрабатывает успешно. Нужно добавить условие, что файлы которые соответствуют первым 6 символам YYYYmm должны строго копироваться, скрипт должен выполнятся даже если в каталоге присутствуют файлы где длина имени меньше 2 символов.
Troubleshooting Timestamp Issues
When the file timestamps you see in file panels are not what you expect them to be; or synchronization does not work:
- Read documentation on timestamps.
- Read about common problems causing synchronization not to work.
- With SFTP and FTP2 protocols, both client and server need to use UTC timestamps.
- Common problem is that the server misinterprets the UTC timestamps.
- To see how WinSCP and the server communicate the timestamps, turn on session logging and check the generated log file.
When inspecting the session log, look for following entries:
- Directory listing, including UTC file modification timestamps:
- Modification timestamp being set on target file after file transfer (SFTP):
If this does not help you, and you decide to seek support, make sure you include a complete session log in your report, showing the above entries. Also mention a specific file that demonstrates the problem, what timestamp and behavior do you see; and what did you expect and why.
WinSCP — свободно распространяемая программа для Windows для защищенного копирования файлов между компьютером и сервером, поддерживающим протоколы SFTP, SCP, SSH-1, SSH-2.
3. Копирование/перемещение файлов
- После того, как вы удачно подключитесь к суперкомпьютеру, вы увидите следующее окно:
- В правой части окна, где отображаются файлы и папки сервера, перейдите в папку, в которую вы хотите скопировать/переместить файлы с локального компьютера. Перемещение по папкам происходит так же как в проводнике Windows.
- В левой части окна перейдите в папку, из которой вы хотите копировать файлы.
- Выделите файлы для копирования. Для этого либо выделяйте нужные файлы по очереди, щелкая по ним мышкой и удерживая клавишу Ctrl, либо выбирайте непрерывный диапазон файлов, щелкнув на первый, а потом, удерживая клавишу Shift, на последний файл из выбираемого диапазона.
- Скопируйте/переместите выделенные файлы из активной половины окна в другую, нажав кнопку «Copy »/»Move» внизу окна или F5/F6 на клавиатуре, а затем нажав «Copy »/»Move» еще раз в появившемся окне.
Примечание: копирование/перемещение файлов с сервера на локальный компьютер осуществляется аналогично.
Приносим извинения. Запрошенное содержимое было удалено. Вы будете автоматически перенаправлены через 1 секунду.
1. Установка WinSCP
- Данная программа не требует установки, просто скопируйте исполняемый файл в любую удобную для вас папку.
Troubleshooting Scripting/Automation Issues
When you are facing issue with scripting/automation:
Ответы
- Помечено в качестве ответа Kazun Editor 4 сентября 2015 г. 10:36
Что делать если во время работы с файлом появляется ошибка «Не могу заново открыть файл ‘/»
И так Вы работаете с фалами на удаленном сервере через клиента WinSCP, Вам потребовалось скажем скачать (переместить, изменить, переименовать и т.д.) это файл к себе на компьютер.
Все это говорит о том что у Вас просто напросто не прав на изменение этого файла. Определить это можно если посмотреть на колонку «Права», в данном случае видим что чтение и запись разрешены только владельцу файла «root». Для работы с файлами под обычным пользователям права должны выглядеть в этой колонке как и папки выше.
Можно определенному пользователю дать права «root» изменив настройки sftp сервера. Данный способ описан практически в каждой статье которую вы найдете в поиске. Но в этом случае обычный пользователь сможет удалять изменять системный файлы и файлы конфигурации. В результате можно положить сервер.
В нашем же случае гораздо проще изменить права необходимого файла. Для этого придется воспользоваться программой PuTTY.
Скачиваем и запускаем программу, для подключения вводим ip адрес удаленного сервера.
В открывшемся окне сначала авторизуемся под обычным пользователем, потом с помощью команды «su» получаем «root» права, и запускаем файловый менеджер «mc».
Находим необходимый файл, выделяем его и на панели инструментов открываем раздел «Файл» и выбираем пункт «Права доступа».
В открывшемся окне отмечаем пункты, если есть группы отмечаем «Чтение для групп»,» Запись для групп», если групп нет тогда «Чтение для других» и «Запись для других» либо можете отметить и то и то.
После этого необходимо переподключиться к удаленной машине в клиенте WinSCP.
После этого все возможные действия (копирование, перемещение, изменение и т.д.) с фалом должны быть доступны.
So I have a script and it runs great for the most part, there is a new issue though. I have the script run every night and finishes in 30 mins after going through 550+ GB of data. This has been running for about 3 weeks now, but lately I found the files are not being copied over. In the logs it identifies new and modified files but they are not making to the destination directory. There are no errors for reading the source or destination folder. Any ideas on what is going on?
Please attach a full log file showing the problem (using the latest version of WinSCP).
To generate log file, use /log=path_to_log_file command-line argument. Submit the log with your post as an attachment. 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 can mark the attachment as private.
ckchinetworks Joined: 2014-07-09 Posts: 11
ckchinetworks Joined: 2014-07-09 Posts: 11
Sorry, but I do not know what to do with those files. The backup.zip.zip file is not a valid ZIP file. And the backup_part2.tar file also does not look like a valid TAR file.
ckchinetworks Joined: 2014-07-09 Posts: 11
martin◆
Site Admin Joined: 2002-12-10 Posts: 37,167 Location: Prague, CzechiaI see you have 7 synchronize commands in your scripts.
Some do not find any change to synchronize.
Some find a change and do synchronize it.
And two of them fail for different reasons:. 2014-10-07 00:12:06.538 Can't open file 'G:\Share\Prior Sever appraiser and map.it\Software to install\Software for new Katrina machine 2011-10-28\Sharp MX-5001 Win 7 64-bit (2011 Oct 28)\CFSC-PCFAX-1010A-2KXPVISTAXPVISTAX64\CFSC-PCFAX-1010a-2kxpVistaXPVistax64\CFSC-PCFAX-1010a-2kxpVistaXPVistax64.txt'.
. 2014-10-07 00:12:06.538 Copying files from remote side failed.Sorry I got busy before I had a chance to reply, the directory with the issue is "share\public reports\reports"
Sorry I got busy before I had a chance to reply, the directory with the issue is "share\public reports\reports"
Лучший отвечающий
2. Подключение к серверу
-
В окне WinSCP выберите сессию Tornado и нажмите «Login ».
Registred
thank you for your reply. Yes please, I would like to get the pre-relase!
Plans fot implement it for FTP also.
Sorry I got busy before I had a chance to reply, the directory with the issue is "share\public reports\reports"
Hey, thank u for that great piece of software, I've successfully implemented it for lots of users. Do u have any plans to fix FTP deep path as well?eine Joined: 2014-12-12 Posts: 8 Location: Poland, Stettin
Any plans to support longer paths than 260 with FTP? I tried with 5.13.3 and it still fails when it tries to transfer path+filename that is more than 260 characters. Does more than 260 work with SFTP?Troubleshooting Connection Issues
When you are not able to connect to the server:
- Make sure you use protocol that the server supports.
- Read guide for connecting to FTP/SFTP server.
- Try if you can connect with other clients using the same protocol.
- If you can connect with another client, see Why is WinSCP not able to connect to a server, when other clients are?.
- When using SFTP /SCP , it may be useful to try to connect with an SSH terminal client (such as PuTTY). You may get some useful messages back on the terminal screen.
Читайте также: