bupstash put [OPTIONS] TAGS... [::] PATHS... bupstash put -e [OPTIONS] TAGS... [::] CMD... `bupstash put` encrypts a file, directory, or command output and stores it in a bupstash repository such that only the primary backup key can decrypt it. For single files the contents are saved directly, for multiple files the data is saved such that is can be retrieved as a tar archive, and for commands the command is executed and stdout is sent to the repository. To do incremental puts you must give each job you intend to run repeatedly it's own send log. This can dramatically reduce the amount of disk reading and network usage required to make a snapshot. Examples: $ export BUPSTASH_REPOSTORY=$HOME/bupstash-repo $ export BUPSTASH_KEY=./my-secret-bupstash.key # To avoid resending data needlessly during backups, create job specific send log. $ bupstash put --send-log /root/backup-sendlog ./to-backup # Specify arbitrary metadata as KEY=VALUE before. $ bupstash put host=$(hostname) ./file.txt # Multiple files and directories can be saved at once. $ bupstash put ./file1.txt ./file2.txt ./some-dir # Use --exec to save the output of commands. $ bupstash put --exec name=files.tar tar -C ./files -cvf - . # Put from stdin (does not check error codes). $ echo data | bupstash put - # You can use '::' to terminate the tag list. $ bupstash put :: foo=bar.txt