Rsync - Features, integrations, alternatives & more
What it does
This action synchronizes files between Git / GitHub / Bitbucket and a server using rsync.
How it works
The pipeline filesystem is used as source for the rsync operation. It means that the destination will be mirrored with: files fetched from the repository at selected revision, repository files overwritten by the pipeline actions, artifacts generated by the actions and static files uploaded to the filesystem.
Good to know
- The pipeline filesystem is used as a the source, so apart from the files from the repository, the generated artifacts can be transferred to the target server as well
- This action ignores Upload everything from scratch flag set on the pipeline execution
- If you need to delete files on the target server that are not present in the pipeline filesystem, use the Delete extraneous files option instead
- Be cautious about the remote path setting while using Delete extraneous files since it may break your server system in case of a mistake made
Action preview

Rsync Action Features
- Compression of files is supported during uploads
- Archive mode is supported (same as rsync -r -l -p -t -g -o -D)
- Deletion of extraneous files (on/off)
- Recurse into directories (on/off)
- Transfer directories without recursing (on/off)
- Any other Rsync option can be provided using the Custom options setting (CLI format)
- It’s possible to exclude paths and file types from transfer using patterns, specific directories and file names
- It’s possible to create exceptions from excluded paths, directories and filenames
- Password, SSH key, Buddy’s SSH key also with passphrase are supported for authentication
- It’s possible to define an SSH key in Environment Variables and select it in the action for authentication
- Input fields: Source Path, Hostname, Port, Login, Password, RemotePath, SSH Key Passphrase support Environment variables
- The action can be configured in YAML mode. See Rsync YAML parameters and Rsync YAML config example
- Buddy's Rsync API is supported
- The action supports conditional execution: it can be run on each execution, only if there are changes in the repository or specific paths since last execution or if an environment variable has a specific value