DriveBackupV2

DriveBackupV2

46.6k Downloads

FTP upload not working with Strato HiDrive

KeldorDE opened this issue ยท 2 comments

commented

Describe the bug

I'm trying to backup my minecraft worlds with FTP to an Strato HiDrive storage. The test ftp command says that there are no errors but when the backup task tries to upload a file the following error is shown on the console.

Output of the test command

[13:45:57 INFO]: [DriveBackupV2] Beginning the test on (S)FTP
[13:46:03 INFO]: [DriveBackupV2] The (S)FTP test was successful

Output on backup

[13:47:10 INFO]: [DriveBackupV2] Doing backups for "settings"
[13:47:10 INFO]: [DriveBackupV2] Uploading file to (S)FTP
[13:47:10 WARN]: java.io.IOException: Connection is not open
[13:47:10 WARN]: 	at DriveBackupV2.jar//ratismal.drivebackup.DriveBackup.lib.net.ftp.FTP.sendCommand(FTP.java:505)
[13:47:10 WARN]: 	at DriveBackupV2.jar//ratismal.drivebackup.DriveBackup.lib.net.ftp.FTPSClient.sendCommand(FTPSClient.java:561)
[13:47:10 WARN]: 	at DriveBackupV2.jar//ratismal.drivebackup.DriveBackup.lib.net.ftp.FTP.sendCommand(FTP.java:635)
[13:47:10 WARN]: 	at DriveBackupV2.jar//ratismal.drivebackup.DriveBackup.lib.net.ftp.FTP.cwd(FTP.java:867)
[13:47:10 WARN]: 	at DriveBackupV2.jar//ratismal.drivebackup.DriveBackup.lib.net.ftp.FTPClient.changeWorkingDirectory(FTPClient.java:1317)
[13:47:10 WARN]: 	at DriveBackupV2.jar//ratismal.drivebackup.uploaders.ftp.FTPUploader.resetWorkingDirectory(FTPUploader.java:377)
[13:47:10 WARN]: 	at DriveBackupV2.jar//ratismal.drivebackup.uploaders.ftp.FTPUploader.uploadFile(FTPUploader.java:207)
[13:47:10 WARN]: 	at DriveBackupV2.jar//ratismal.drivebackup.UploadThread.doSingleBackup(UploadThread.java:367)
[13:47:10 WARN]: 	at DriveBackupV2.jar//ratismal.drivebackup.UploadThread.run(UploadThread.java:231)
[13:47:10 WARN]: 	at java.base/java.lang.Thread.run(Thread.java:831)

My config looks like this (anonymized the ftp user data)

delay: 60
backup-thread-priority: 1
keep-count: 24
local-keep-count: 24
backups-require-players: true
scheduled-backups: false
backup-list:
- path: plugins
  format: yyyy-MM-dd-HH-mm-ss'.zip'
  create: true
  blacklist:
  - dynmap/web/tiles/**
- path: settings
  format: yyyy-MM-dd-HH-mm-ss'.zip'
  create: true
- path: worlds/world
  format: yyyy-MM-dd-HH-mm-ss'.zip'
  create: true
- path: worlds/world_nether
  format: yyyy-MM-dd-HH-mm-ss'.zip'
  create: true
- path: worlds/world_the_end
  format: yyyy-MM-dd-HH-mm-ss'.zip'
  create: true
- path: worlds/world2
  format: yyyy-MM-dd-HH-mm-ss'.zip'
  create: true
- path: worlds/world2_nether
  format: yyyy-MM-dd-HH-mm-ss'.zip'
  create: true
- path: worlds/world2_the_end
  format: yyyy-MM-dd-HH-mm-ss'.zip'
  create: true
- path: worlds/world3
  format: yyyy-MM-dd-HH-mm-ss'.zip'
  create: true
- path: worlds/world3_nether
  format: yyyy-MM-dd-HH-mm-ss'.zip'
  create: true
- path: worlds/world3_the_end
  format: yyyy-MM-dd-HH-mm-ss'.zip'
  create: true
- path: worlds/world4
  format: yyyy-MM-dd-HH-mm-ss'.zip'
  create: true
- path: worlds/world4_nether
  format: yyyy-MM-dd-HH-mm-ss'.zip'
  create: true
- path: worlds/world4_the_end
  format: yyyy-MM-dd-HH-mm-ss'.zip'
  create: true
- path: worlds/world5
  format: yyyy-MM-dd-HH-mm-ss'.zip'
  create: true
- path: worlds/world5_nether
  format: yyyy-MM-dd-HH-mm-ss'.zip'
  create: true
- path: worlds/world5_the_end
  format: yyyy-MM-dd-HH-mm-ss'.zip'
  create: true
- path: worlds/world6
  format: yyyy-MM-dd-HH-mm-ss'.zip'
  create: true
- path: worlds/world6_nether
  format: yyyy-MM-dd-HH-mm-ss'.zip'
  create: true
- path: worlds/world6_the_end
  format: yyyy-MM-dd-HH-mm-ss'.zip'
  create: true
- path: worlds/world7
  format: yyyy-MM-dd-HH-mm-ss'.zip'
  create: true
- path: worlds/world7_nether
  format: yyyy-MM-dd-HH-mm-ss'.zip'
  create: true
- path: worlds/world7_the_end
  format: yyyy-MM-dd-HH-mm-ss'.zip'
  create: true
- path: worlds/world8
  format: yyyy-MM-dd-HH-mm-ss'.zip'
  create: true
- path: worlds/world8_nether
  format: yyyy-MM-dd-HH-mm-ss'.zip'
  create: true
- path: worlds/world8_the_end
  format: yyyy-MM-dd-HH-mm-ss'.zip'
  create: true
- path: worlds/world_old
  format: yyyy-MM-dd-HH-mm-ss'.zip'
  create: true
- path: worlds/world_old_nether
  format: yyyy-MM-dd-HH-mm-ss'.zip'
  create: true
- path: worlds/world_old_the_end
  format: yyyy-MM-dd-HH-mm-ss'.zip'
  create: true
- path: worlds/world_city
  format: yyyy-MM-dd-HH-mm-ss'.zip'
  create: true
googledrive:
  enabled: false
  shared-drive-id: ''
onedrive:
  enabled: false
ftp:
  enabled: true
  hostname: 'ftp.hidrive.strato.com'
  port: 21
  sftp: false
  ftps: true
  username: 'username'
  password: 'password'
messages:
  send-in-chat: true
advanced:
  metrics: true
  update-check: true
  suppress-errors: false
  prefix-chat-messages: false
  date-language: de
  ftp-file-seperator: /
  date-timezone: -00:00
dropbox: {}
version: 2
local-save-directory: /mnt/backup
remote-save-directory: Backups-Minecraft-Server

To Reproduce

/drivebackup backup

Screenshots / Videos

No response

Server and Plugin Versions

  • Paper version git-Paper-313 (MC: 1.17.1) (Implementing API version 1.17.1-R0.1-SNAPSHOT) (Git: 7991c4b)
  • DriveBackup 1.5.3
  • Java Version 16.0.1

Additional Context

No response

commented

I see that Strato HiDrive also offer WebDAV access, would you be able to join our discord to test the upcoming WebDAV support and it might fix your problems?

commented

Thanks for the invitation, I will try the beta.

But it would still be good if the upload via FTP works in case the provider is ever changed and has no WebDAV support :)