If you are using
systemd then use
udisksctl utility with
Arranges for the drive to be safely removed and powered off. On the OS side this includes ensuring that no process is using the drive, then requesting that in-flight buffers and caches are committed to stable storage.
I would recommend first to unmount all filesystems on that usb. This can be done also with
udisksctl, so steps would be:
udisksctl unmount -b /dev/sda1
udisksctl power-off -b /dev/sda