Eu finalmente encontrei uma resposta olhando mais no manual do s3cmd. Acontece que existem opções que alteram o comportamento dos comandos. Uma opção é --delete-removed
, que altera sync
da maneira que eu quero:
--delete-removed
Delete remote objects with no corresponding local file [sync]