Você pode usar o comando put
com a opção -r
para uma cópia recursiva.
put [-Ppr] local-path [remote-path]
Upload local-path and store it on the remote machine. If the remote path name is not specified, it is given the same name it has on the local machine. local-path may contain glob(3) char‐
acters and may match multiple files. If it does and remote-path is specified, then remote-path must specify a directory.
If either the -P or -p flag is specified, then full file permissions and access times are copied too.
If the -r flag is specified then directories will be copied recursively. Note that sftp does not follow symbolic links when performing recursive transfers.
modo interativo
$ sftp my.server.com
Connected to my.server.com.
sftp> put -r /home/whoever/files_to_send /some/remote/directory
Comando único para exec do cron
$ cat batchfile
put -r /home/whoever/files_to_send /some/remote/directory
$ sftp -b batchfile my.server.com
O que você realmente deve aprender com isso é ler o manual online, sftp(1)
.