The endpoint of your file skips the pollingFrequency attributes, which means that it uses a default value of 1000 ms. This makes Mule survey files faster than the FTP endpoint can process them. Try for example:
pollingFrequency="10000"
If this is not enough, because FTP upload has unpredictable characteristics (therefore Mule still repeats the upload file), then if your files are small enough to fit into memory, try adding:
<object-to-byte-array-transformer />
between your inbound and outbound endpoint. This loads the file into memory and moves it straight to outbound.input.backup.path before attempting to upload FTP. Of course, if the FTP download failed, you will have to move the file back to outbound.input.path ...
source share