Support graceful cancellation (Proposal)

I tend to transfer a lot of data from MEGA → GDrive. Sometimes I wish to stop these transfers (for example when a Teams call comes up and bandwith congestions becomes an issue) and find myself trying to pass the moment where most files have just completed. To just remove this, I'd like to suggest the following behaviour:

  • when receiving SIGINT, enable "cancellation-mode"
  • no new transfers are started
  • running transfers are completed
  • immediate stop can be forced by sending another interrupt

Somewhat similar issue but for limited bandwidth mode: Add Optional Graceful Finish to --max-transfer to avoid wasted bandwidth · Issue #2672 · rclone/rclone · GitHub

Other similar issues: add ability to signal rclone to finish current partial task and exit · Issue #966 · rclone/rclone · GitHub and Terminate after last (large) files finished · Issue #1522 · rclone/rclone · GitHub

It is a great idea where the challenge is the importance/priority relative to other features due to the limited development resources and funding.

Fair enough, I may take a look at it if I find the time :slight_smile: