I am trying to, with Ant, upload a zip-file via FTP to a Windows Server 2008 R2 FTP server (if it matters). I have a similar task to create the directory /Release, which works, yet somehow uploading via FTP gives me problems.
<ftp action="put"
userid="${adapter.ftp.username}"
password="${adapter.ftp.password}"
server="${ftp.hostname}"
retriesAllowed="5"
verbose="true"
systemTypeKey="WINDOWS"
remotedir="/Release" >
<fileset dir=".">
<include name="Adapter.zip"/>
</fileset>
</ftp>
The Ant debug log:
[ftp] Opening FTP connection to 192.168.2.120
[ftp] custom configuration
[ftp] custom config: system key = WINDOWS
[ftp] custom config: server language code =
[ftp] connected
[ftp] logging in to FTP server
[ftp] login succeeded
[ftp] changing the remote directory to /Release
[ftp] sending files
fileset: Setup scanner in dir C:\dir with patternSet{ includes: [adapter.zip] excludes: [] }
[ftp] transferring C:\dir\adapter.zip
[ftp] try #1: IO error (adapter.zip), retrying
/.../
[ftp] try #6: IO error (adapter.zip), number of maximum retries reached (5), giving up
[ftp] disconnecting
build.xml:165: error during FTP transfer: java.net.SocketException: Software caused connection abort: socket write error
at org.apache.tools.ant.taskdefs.optional.net.FTP.execute(FTP.java:2538)
at org.apache.tools.ant.UnknownElement.execute(UnknownElement.java:291)
at sun.reflect.GeneratedMethodAccessor4.invoke(Unknown Source)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source)
at java.lang.reflect.Method.invoke(Unknown Source)
at org.apache.tools.ant.dispatch.DispatchUtils.execute(DispatchUtils.java:106)
at org.apache.tools.ant.Task.perform(Task.java:348)
at org.apache.tools.ant.Target.execute(Target.java:390)
at org.apache.tools.ant.Target.performTasks(Target.java:411)
at org.apache.tools.ant.Project.executeSortedTargets(Project.java:1399)
at org.apache.tools.ant.Project.executeTarget(Project.java:1368)
at org.apache.tools.ant.helper.DefaultExecutor.executeTargets(DefaultExecutor.java:41)
at org.eclipse.ant.internal.launching.remote.EclipseDefaultExecutor.executeTargets(EclipseDefaultExecutor.java:32)
at org.apache.tools.ant.Project.executeTargets(Project.java:1251)
at org.eclipse.ant.internal.launching.remote.InternalAntRunner.run(InternalAntRunner.java:424)
at org.eclipse.ant.internal.launching.remote.InternalAntRunner.main(InternalAntRunner.java:138)
Caused by: java.net.SocketException: Software caused connection abort: socket write error
at java.net.SocketOutputStream.socketWrite0(Native Method)
at java.net.SocketOutputStream.socketWrite(Unknown Source)
at java.net.SocketOutputStream.write(Unknown Source)
at sun.nio.cs.StreamEncoder.writeBytes(Unknown Source)
at sun.nio.cs.StreamEncoder.implFlushBuffer(Unknown Source)
at sun.nio.cs.StreamEncoder.implFlush(Unknown Source)
at sun.nio.cs.StreamEncoder.flush(Unknown Source)
at java.io.OutputStreamWriter.flush(Unknown Source)
at java.io.BufferedWriter.flush(Unknown Source)
at org.apache.commons.net.ftp.FTP.sendCommand(FTP.java:472)
at org.apache.commons.net.ftp.FTP.sendCommand(FTP.java:534)
at org.apache.commons.net.ftp.FTP.port(FTP.java:862)
at org.apache.commons.net.ftp.FTPClient._openDataConnection_(FTPClient.java:463)
at org.apache.commons.net.ftp.FTPClient.__storeFile(FTPClient.java:374)
at org.apache.commons.net.ftp.FTPClient.storeFile(FTPClient.java:1379)
at org.apache.tools.ant.taskdefs.optional.net.FTP.sendFile(FTP.java:2149)
at org.apache.tools.ant.taskdefs.optional.net.FTP$2.execute(FTP.java:1792)
at org.apache.tools.ant.util.RetryHandler.execute(RetryHandler.java:57)
at org.apache.tools.ant.taskdefs.optional.net.FTP.executeRetryable(FTP.java:1709)
at org.apache.tools.ant.taskdefs.optional.net.FTP.transferFiles(FTP.java:1788)
at org.apache.tools.ant.taskdefs.optional.net.FTP.transferFiles(FTP.java:1845)
at org.apache.tools.ant.taskdefs.optional.net.FTP.execute(FTP.java:2534)
... 15 more
What am I doing wrong?
Turning off the Windows firewall resolved the issue.
One thing worth trying is passive ftp. The Ant ftp task has a passive attribute for this:
selects passive-mode ("yes") transfers, for better through-firewall
connectivity, at the price of performance. Defaults to "no"
There's a write up of the difference between active and passive mode here. The key point is that for ftp commands (including mkdir and the chdir that works in the OP question) a single open port - usually port 21 - is used. But for data transfers a different, possibly firewall-blocked port is used. Firewall-related problems with ftp can sometimes show the symptoms mentioned above.
Related
I am having an issue with a Jenkins agent not being able to connect with the Controller when a specific job ends. All other jobs are completed without any issues.
Basically, the job runs on the agent without any issues and gives out the expected result but, fails when it is time to hand over the job to the Jenkins master.
Both Controller and Agent are windows server VMs.
I saw multiple questions about this issue in multiple forums and Jenkins support but none of the suggested solutions is able to solve my issue.
The error message is:
Also: hudson.remoting.Channel$CallSiteStackTrace: Remote call to JNLP4-connect connection to hostname/IP:16076
at hudson.remoting.Channel.attachCallSiteStackTrace(Channel.java:1797)
at hudson.remoting.UserRequest$ExceptionResponse.retrieve(UserRequest.java:356)
at hudson.remoting.Channel.call(Channel.java:1001)
at hudson.FilePath.act(FilePath.java:1166)
at hudson.FilePath.act(FilePath.java:1155)
at hudson.FilePath.copyTo(FilePath.java:2493)
at hudson.FilePath.copyTo(FilePath.java:2448)
at hudson.plugins.logparser.LogParserStatusComputer.computeStatusMatches(LogParserStatusComputer.java:88)
at hudson.plugins.logparser.LogParserStatusComputer.access$000(LogParserStatusComputer.java:22)
at hudson.plugins.logparser.LogParserStatusComputer$1.call(LogParserStatusComputer.java:54)
at hudson.plugins.logparser.LogParserStatusComputer$1.call(LogParserStatusComputer.java:47)
at hudson.remoting.UserRequest.perform(UserRequest.java:211)
at hudson.remoting.UserRequest.perform(UserRequest.java:54)
at hudson.remoting.Request$2.run(Request.java:376)
at hudson.remoting.InterceptingExecutorService.lambda$wrap$0(InterceptingExecutorService.java:78)
at java.util.concurrent.FutureTask.run(Unknown Source)
at java.util.concurrent.ThreadPoolExecutor.runWorker(Unknown Source)
at java.util.concurrent.ThreadPoolExecutor$Worker.run(Unknown Source)
at hudson.remoting.Engine$1.lambda$newThread$0(Engine.java:122)
Also: hudson.remoting.Channel$CallSiteStackTrace: Remote call to JNLP4-connect connection from hostname/IP:50925
at hudson.remoting.Channel.attachCallSiteStackTrace(Channel.java:1797)
at hudson.remoting.UserRequest$ExceptionResponse.retrieve(UserRequest.java:356)
at hudson.remoting.Channel.call(Channel.java:1001)
at hudson.plugins.logparser.LogParserStatusComputer.computeStatusMatches(LogParserStatusComputer.java:47)
at hudson.plugins.logparser.LogParserStatusComputer.<init>(LogParserStatusComputer.java:36)
at hudson.plugins.logparser.LogParserParser.parseLogBody(LogParserParser.java:355)
at hudson.plugins.logparser.LogParserParser.parseLog(LogParserParser.java:165)
at hudson.plugins.logparser.LogParserPublisher.perform(LogParserPublisher.java:119)
at jenkins.tasks.SimpleBuildStep.perform(SimpleBuildStep.java:123)
at hudson.tasks.BuildStepCompatibilityLayer.perform(BuildStepCompatibilityLayer.java:78)
at hudson.tasks.BuildStepMonitor$1.perform(BuildStepMonitor.java:20)
at hudson.model.AbstractBuild$AbstractBuildExecution.perform(AbstractBuild.java:806)
at hudson.model.AbstractBuild$AbstractBuildExecution.performAllBuildSteps(AbstractBuild.java:755)
at hudson.model.Build$BuildExecution.post2(Build.java:178)
at hudson.model.AbstractBuild$AbstractBuildExecution.post(AbstractBuild.java:699)
at hudson.model.Run.execute(Run.java:1913)
at hudson.model.FreeStyleBuild.run(FreeStyleBuild.java:43)
at hudson.model.ResourceController.execute(ResourceController.java:99)
at hudson.model.Executor.run(Executor.java:431)
java.util.regex.PatternSyntaxException: Illegal/unsupported escape sequence near index 3
e:\jenkbuilds\(.+)\builds/[0-9]+(/.*)?
^
at java.util.regex.Pattern.error(Unknown Source)
at java.util.regex.Pattern.escape(Unknown Source)
at java.util.regex.Pattern.atom(Unknown Source)
at java.util.regex.Pattern.sequence(Unknown Source)
at java.util.regex.Pattern.expr(Unknown Source)
at java.util.regex.Pattern.compile(Unknown Source)
at java.util.regex.Pattern.<init>(Unknown Source)
at java.util.regex.Pattern.compile(Unknown Source)
at jenkins.security.s2m.RunningBuildFilePathFilter.op(RunningBuildFilePathFilter.java:91)
at jenkins.ReflectiveFilePathFilter.read(ReflectiveFilePathFilter.java:21)
at jenkins.FilePathFilterAggregator.read(FilePathFilterAggregator.java:75)
at jenkins.SoloFilePathFilter.read(SoloFilePathFilter.java:66)
at hudson.FilePath.reading(FilePath.java:3497)
at hudson.FilePath.access$300(FilePath.java:213)
at hudson.FilePath$CopyTo.invoke(FilePath.java:2507)
at hudson.FilePath$CopyTo.invoke(FilePath.java:2499)
at hudson.FilePath$FileCallableWrapper.call(FilePath.java:3338)
at hudson.remoting.UserRequest.perform(UserRequest.java:211)
at hudson.remoting.UserRequest.perform(UserRequest.java:54)
at hudson.remoting.Request$2.run(Request.java:376)
at hudson.remoting.InterceptingExecutorService.lambda$wrap$0(InterceptingExecutorService.java:78)
at org.jenkinsci.remoting.CallableDecorator.call(CallableDecorator.java:18)
at hudson.remoting.CallableDecoratorList.lambda$applyDecorator$0(CallableDecoratorList.java:19)
at jenkins.util.ContextResettingExecutorService$2.call(ContextResettingExecutorService.java:46)
at jenkins.security.ImpersonatingExecutorService$2.call(ImpersonatingExecutorService.java:80)
at java.util.concurrent.FutureTask.run(Unknown Source)
at java.util.concurrent.ThreadPoolExecutor.runWorker(Unknown Source)
at java.util.concurrent.ThreadPoolExecutor$Worker.run(Unknown Source)
at java.lang.Thread.run(Unknown Source)
Build step 'Console output (build log) parsing' marked build as failure
Archiving artifacts
Recording test results
Finished: FAILURE```
Please let me know if you would like to have more information.
Any help will be greatly appriciated.
Illegal/unsupported escape sequence near index 3 e:\jenkbuilds\(.+)\builds/[0-9]+(/.*)?
Build step 'Console output (build log) parsing' marked build as failure
Archiving artifacts
It would seem it's interpreting your path regex as an escape character "\j*". Wherever that regex is, try double slash, "e:\\jenbuilds", or try chage to unix style "/".
It's either the ArchiveArtifacts step or right before that. Show your config steps?
I managed to resolve the issue using #Ian W comment. When diving into the 'Log Parser' plugin's settings, I found that my last update to Jenkins plugins reset its settings.
I wasn't aware that there is a modified rule in Jenkins for this plugin.
To be more specific:
To find the list of rules:
Manage Jenkins - > Configure System -> Multi-job Retry Rule -> Log Parser Rules
To update the job:
Job -> Configure -> Post-Build Actions -> Use Project Rule -> paste rule
I hope this will turn to be useful for someone as this was quite of a challenge to find and fix.
Looks like something got corrupted with our H2 database. Here is the output of server.log upon startup. Is there any way to recover the data, or are we better off starting fresh?
2018-02-26 13:24:03,867 INFO [main] server: Starting server
2018-02-26 13:24:04,602 INFO [main] server: Starting database in directory E:\ProgramData\perfino
2018-02-26 13:24:05,381 ERROR [main] server: Cannot connect to database or access schema version
org.h2.jdbc.JdbcSQLException: General error: "java.lang.RuntimeException: rowcount remaining=1 SYS" [50000-176]
at org.h2.message.DbException.getJdbcSQLException(DbException.java:344)
at org.h2.message.DbException.get(DbException.java:167)
at org.h2.message.DbException.convert(DbException.java:294)
at org.h2.engine.Database.openDatabase(Database.java:291)
at org.h2.engine.Database.<init>(Database.java:254)
at org.h2.engine.Engine.openSession(Engine.java:57)
at org.h2.engine.Engine.openSession(Engine.java:164)
at org.h2.engine.Engine.createSessionAndValidate(Engine.java:142)
at org.h2.engine.Engine.createSession(Engine.java:125)
at org.h2.engine.Engine.createSession(Engine.java:27)
at org.h2.engine.SessionRemote.connectEmbeddedOrServer(SessionRemote.java:331)
at org.h2.jdbc.JdbcConnection.<init>(JdbcConnection.java:107)
at org.h2.jdbc.JdbcConnection.<init>(JdbcConnection.java:91)
at org.h2.Driver.connect(Driver.java:74)
at java.sql.DriverManager.getConnection(Unknown Source)
at java.sql.DriverManager.getConnection(Unknown Source)
at com.perfino.c.a.a(ejt:207)
at com.perfino.c.a.a(ejt:138)
at com.perfino.server.ServerMain.main(ejt:248)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(Unknown Source)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source)
at java.lang.reflect.Method.invoke(Unknown Source)
at com.exe4j.runtime.LauncherEngine.launch(LauncherEngine.java:65)
at com.exe4j.runtime.WinLauncher$2.run(WinLauncher.java:96)
Caused by: java.lang.RuntimeException: rowcount remaining=1 SYS
at org.h2.message.DbException.throwInternalError(DbException.java:241)
at org.h2.table.RegularTable.addIndex(RegularTable.java:284)
at org.h2.engine.Database.open(Database.java:705)
at org.h2.engine.Database.openDatabase(Database.java:260)
... 21 more
There is no data recovery tool for H2. If you have a backup of the database, I would recommend switching to the backup.
To reset the database, go to the database directory and remove the files perfino.h2.db and perfino.trace.db while the server is stopped.
The configuration data is located in config.h2.db and will be preserved.
I set up a Jenkins job to poll Perforce for changes in the depot every 15 minutes, however I am seeing the following error in the polling log:
Caught Exception communicating with perforce.P4 Where Parsing Error: //... and //some_depot/... filespecs are not allowed.
FATAL: Unable to communicate with perforce. Check log file for: P4 Where Parsing Error: //... and //some_depot/... filespecs are not allowed.
java.io.IOException: Unable to communicate with perforce. Check log file for: P4 Where Parsing Error: //... and //some_depot/... filespecs are not allowed.
at hudson.plugins.perforce.PerforceSCM.compareRemoteRevisionWith(PerforceSCM.java:1296)
at hudson.scm.SCM.poll(SCM.java:397)
at hudson.model.AbstractProject._poll(AbstractProject.java:1435)
at hudson.model.AbstractProject.poll(AbstractProject.java:1338)
at jenkins.triggers.SCMTriggerItem$SCMTriggerItems$Bridge.poll(SCMTriggerItem.java:119)
at hudson.triggers.SCMTrigger$Runner.runPolling(SCMTrigger.java:515)
at hudson.triggers.SCMTrigger$Runner.run(SCMTrigger.java:544)
at hudson.util.SequentialExecutionQueue$QueueEntry.run(SequentialExecutionQueue.java:118)
at java.util.concurrent.Executors$RunnableAdapter.call(Unknown Source)
at java.util.concurrent.FutureTask.run(Unknown Source)
at java.util.concurrent.ThreadPoolExecutor.runWorker(Unknown Source)
at java.util.concurrent.ThreadPoolExecutor$Worker.run(Unknown Source)
at java.lang.Thread.run(Unknown Source)
Done. Took 5.4 sec
No changes
Has anyone seen this before? Polling seemed to work perfectly a few hours ago, but now this error is appearing with each poll.
Perhaps your Perforce administrator just installed a new trigger, one which
generates the error message
//... and //some_depot/... filespecs are not allowed.
if it sees a client workspace spec with an unacceptable view map.
If that's indeed your problem, then you either have to specify a narrower (more precise) view map for the client workspace that your Jenkins build is using, or get your administrator to give you an exception in the trigger.
I am just trying to connect to a remote host using the ant sshexec task . I have the required jar in the ant lib directory and able to connect to the remote host using putty.
This is the way i am running the ssh
<sshexec host="host"
username="username"
password="password"
trust="yes"
command="ls"/>
There seems to be encryption algorith mismatch with the server. How can i specify the algorith as I don't see any attribute for this task [Ant doc][1]. This is the error log i am getting:
com.jcraft.jsch.JSchException: Algorithm negotiation fail
at com.jcraft.jsch.Session.receive_kexinit(Session.java:540)
at com.jcraft.jsch.Session.connect(Session.java:288)
at com.jcraft.jsch.Session.connect(Session.java:145)
at org.apache.tools.ant.taskdefs.optional.ssh.SSHBase.openSession(SSHBase.java:212)
at org.apache.tools.ant.taskdefs.optional.ssh.SSHExec.execute(SSHExec.java:158)
at org.apache.tools.ant.UnknownElement.execute(UnknownElement.java:288)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
at java.lang.reflect.Method.invoke(Method.java:606)
at org.apache.tools.ant.dispatch.DispatchUtils.execute(DispatchUtils.java:106)
at org.apache.tools.ant.Task.perform(Task.java:348)
at org.apache.tools.ant.Target.execute(Target.java:357)
at org.apache.tools.ant.Target.performTasks(Target.java:385)
at org.apache.tools.ant.Project.executeSortedTargets(Project.java:1337)
at org.apache.tools.ant.Project.executeTarget(Project.java:1306)
at org.apache.tools.ant.helper.DefaultExecutor.executeTargets(DefaultExecutor.java:41)
at org.apache.tools.ant.Project.executeTargets(Project.java:1189)
at org.apache.tools.ant.Main.runBuild(Main.java:758)
at org.apache.tools.ant.Main.startAnt(Main.java:217)
at org.apache.tools.ant.launch.Launcher.run(Launcher.java:257)
at org.apache.tools.ant.launch.Launcher.main(Launcher.java:104)
TL;DR edit your sshd_config and enable support for diffie-hellman-group-exchange-sha1 and diffie-hellman-group1-sha1 in KexAlgorithms:
KexAlgorithms curve25519-sha256#libssh.org,ecdh-sha2-nistp256,ecdh-sha2-nistp384,ecdh-sha2-nistp521,diffie-hellman-group-exchange-sha256,diffie-hellman-group14-sha1,diffie-hellman-group-exchange-sha1,diffie-hellman-group1-sha1
KexAlgorithms curve25519-sha256#libssh.org,ecdh-sha2-nistp256,ecdh-sha2-nistp384,ecdh-sha2-nistp521,diffie-hellman-group-exchange-sha256,diffie-hellman-group14-sha1,diffie-hellman-group-exchange-sha1,diffie-hellman-group1-sha1
I suspect that the problem appeared after the following change in OpenSSH 6.7: "The default set of ciphers and MACs has been altered to remove unsafe algorithms.". (see changelog). This version was released on Oct, 6, and made it on Oct, 21 to Debian testing (see Debian changelog).
OpenSSH enables only the following key exchange algorithms by default:
curve25519-sha256#libssh.org
ecdh-sha2-nistp256
ecdh-sha2-nistp384
ecdh-sha2-nistp521
diffie-hellman-group-exchange-sha256
diffie-hellman-group14-sha1
Whereas JSch claims to support these algorithms (see under "features") for key exchange:
diffie-hellman-group-exchange-sha1
diffie-hellman-group1-sha1
So indeed, they cannot agree on a common key exchange algorithm. Updating sshd_config (and restarting the SSH server) does the trick. Apparently JSch is supposed to support the "diffie-hellman-group-exchange-sha256" method since version 0.1.50 (see changelog).
I had the same error trying to connect to OS X 10.11.6 and could fix it by replacing ~/.ant/lib/jsch-0.1.51.jar with the latest ~/.ant/lib/jsch-0.1.54.jar.
Operating System: Windows 2012
Neo4j Version: 1.8.2 Enterprise
I am having trouble using the Neo4jBackup.bat script to backup the Neo4j server. I am running the following command from an Administrator command prompt:
.\Neo4jBackup.bat -full -from single://127.0.0.1 -to E:\Neo4j-Backup
When I run this command, I receive the following output and stack trace:
Performing full backup from 'single://127.0.0.1'
Exception in thread "main" java.lang.RuntimeException: java.io.IOException: The filename, directory name, or volume label syntax is incorrect
at org.neo4j.index.impl.lucene.LuceneDataSource.newIndexWriter(LuceneDataSource.java:685)
at org.neo4j.index.impl.lucene.LuceneDataSource.syncGetIndexSearcher(LuceneDataSource.java:574)
at org.neo4j.index.impl.lucene.LuceneDataSource.getIndexSearcher(LuceneDataSource.java:540)
at org.neo4j.index.impl.lucene.LuceneDataSource.makeSureAllIndexesAreInstantiated(LuceneDataSource.java:893)
at org.neo4j.index.impl.lucene.LuceneDataSource.listStoreFiles(LuceneDataSource.java:833)
at org.neo4j.com.ServerUtil.rotateLogsAndStreamStoreFiles(ServerUtil.java:129)
at org.neo4j.backup.BackupImpl.fullBackup(BackupImpl.java:41)
at org.neo4j.backup.BackupClient$BackupRequestType$1.call(BackupClient.java:73)
at org.neo4j.backup.BackupClient$BackupRequestType$1.call(BackupClient.java:69)
at org.neo4j.com.Server$4.run(Server.java:427)
at java.util.concurrent.Executors$RunnableAdapter.call(Unknown Source)
at java.util.concurrent.FutureTask$Sync.innerRun(Unknown Source)
at java.util.concurrent.FutureTask.run(Unknown Source)
at java.util.concurrent.ThreadPoolExecutor$Worker.runTask(Unknown Source)
at java.util.concurrent.ThreadPoolExecutor$Worker.run(Unknown Source)
at java.lang.Thread.run(Unknown Source)
Caused by: java.io.IOException: The filename, directory name, or volume label syntax is incorrect
at java.io.WinNTFileSystem.canonicalize0(Native Method)
at java.io.Win32FileSystem.canonicalize(Unknown Source)
at java.io.File.getCanonicalPath(Unknown Source)
at org.apache.lucene.store.FSDirectory.getCanonicalPath(FSDirectory.java:129)
at org.apache.lucene.store.FSDirectory.<init>(FSDirectory.java:143)
at org.apache.lucene.store.MMapDirectory.<init>(MMapDirectory.java:93)
at org.apache.lucene.store.FSDirectory.open(FSDirectory.java:180)
at org.apache.lucene.store.FSDirectory.open(FSDirectory.java:172)
at org.neo4j.index.impl.lucene.LuceneDataSource$DirectoryGetter$1.getDirectory(LuceneDataSource.java:914)
at org.neo4j.index.impl.lucene.LuceneDataSource.newIndexWriter(LuceneDataSource.java:664)
... 15 more
What am I doing wrong? The Neo4j settings related to backup are set to:
online_backup_enabled=true
online_backup_port=6362
Your assistance is appreciated. Thank you.
Amir.
Could you try using valid URI syntax for the backup location, like
.\Neo4jBackup.bat -full -from single://127.0.0.1 -to /E:/Neo4j-Backup
Does that work?
Try running the command like this
Neo4jBackup.bat -full -from single://127.0.0.1 -to E:/Neo4j-Backup