Use rsync to sync local and remote folders
:::bash
rsync -og --chown=user:group -e "ssh -p $(SSH_PORT)" -P -rvzc \
--delete $(OUTPUTDIR)/ \
$(SSH_USER)@$(SSH_HOST):$(SSH_TARGET_DIR) \
--cvs-exclude --exclude=/.well-known
-c, --checksum: skip based on checksum, not mod-time & size
-v, --verbose: increase verbosity
-r, --recursive: recurse into directories
-z, --compress: compress file data during the transfer
-P, --progress --partial:
--delete: delete extraneous files from dest dirs
-C, --cvs-exclude: auto-ignore files in the same way CVS does
-o, --owner: preserve owner (super-user only)
-g, --group: preserve group
--chown=USER:GROUP: simple username/groupname mapping
-e, --rsh=COMMAND: specify the remote shell to use