rsync
rsync -a report.csv server:/backup/syq
syq cp report.csv --to server --into /backupCopies report.csv to /backup/report.csv on server.
The command above uses archive mode (-a), which preserves permissions, ownership and special files as well as timestamps and symlinks, where permitted. Syq normally preserves timestamps and links; it keeps existing destination permissions and limits new-file permissions by the destination umask. It does not preserve ownership or copy special files by default.
For a closer match:
rsync -t --mkpath --modify-window=-1 report.csv server:/backup/-t preserves modification times. --mkpath (rsync 3.2.3+) creates missing destination parents. --modify-window=-1 compares fractional seconds too; the simpler command compares only whole seconds.
Syq’s size-and-time comparison ignores trailing fractional digits where the destination timestamp has zeros; rsync with --modify-window=-1 requires exact nanosecond equality. Use content hashing when matching timestamps are not enough.
rsync
rsync -a project server:/backup/syq
syq cp project --to server --into /backupCopies project to /backup/project. Other entries in /backup stay.
The command above uses archive mode (-a), which preserves permissions, ownership and special files as well as timestamps and symlinks, where permitted. Syq normally preserves timestamps and links; it keeps existing destination permissions and limits new-file permissions by the destination umask. It does not preserve ownership or copy special files by default.
For a closer match:
rsync -rlt --mkpath --modify-window=-1 project server:/backup/-t preserves modification times; -r recurses into directories and -l preserves symlinks. --mkpath (rsync 3.2.3+) creates missing destination parents. --modify-window=-1 compares fractional seconds too; the simpler command compares only whole seconds.
Syq’s size-and-time comparison ignores trailing fractional digits where the destination timestamp has zeros; rsync with --modify-window=-1 requires exact nanosecond equality. Use content hashing when matching timestamps are not enough.
Rsync can replace an empty destination directory with a source file. Syq refuses file/directory type conflicts, even for empty directories.
rsync
rsync -a project/ server:/backup/syq
syq cp --srcs-in project --to server --into /backupCopies project/index.html to /backup/index.html. Destination-only files stay.
In rsync, project/ copies the contents; project copies the folder. In syq, a trailing slash does not change placement: use --srcs-in for contents.
The command above uses archive mode (-a), which preserves permissions, ownership and special files as well as timestamps and symlinks, where permitted. Syq normally preserves timestamps and links; it keeps existing destination permissions and limits new-file permissions by the destination umask. It does not preserve ownership or copy special files by default.
For a closer match:
rsync -rlt --mkpath --modify-window=-1 project/ server:/backup/-t preserves modification times; -r recurses into directories and -l preserves symlinks. --mkpath (rsync 3.2.3+) creates missing destination parents. --modify-window=-1 compares fractional seconds too; the simpler command compares only whole seconds.
Syq’s size-and-time comparison ignores trailing fractional digits where the destination timestamp has zeros; rsync with --modify-window=-1 requires exact nanosecond equality. Use content hashing when matching timestamps are not enough.
Rsync can replace an empty destination directory with a source file. Syq refuses file/directory type conflicts, even for empty directories.
rsync
rsync --delete -a project/ server:/backup/syq
syq cp --prune --srcs-in project --to server --into /backupUpdates /backup with the contents of project and removes destination entries absent from the source.
The command above uses archive mode (-a), which preserves permissions, ownership and special files as well as timestamps and symlinks, where permitted. Syq normally preserves timestamps and links; it keeps existing destination permissions and limits new-file permissions by the destination umask. It does not preserve ownership or copy special files by default.
For a closer match:
rsync --delete-after -rlt --mkpath --modify-window=-1 project/ server:/backup/-t preserves modification times; -r recurses into directories and -l preserves symlinks. --mkpath (rsync 3.2.3+) creates missing destination parents. --modify-window=-1 compares fractional seconds too; the simpler command compares only whole seconds.
--delete-after postpones deletion until after the transfer phase, closer to syq’s copy-then-prune ordering.
Syq’s size-and-time comparison ignores trailing fractional digits where the destination timestamp has zeros; rsync with --modify-window=-1 requires exact nanosecond equality. Use content hashing when matching timestamps are not enough.
Rsync can replace an empty destination directory with a source file. Syq refuses file/directory type conflicts, even for empty directories.
rsync
rsync -a server:/data/report.csv .syq
syq cp --from server /data/report.csv --into .Fetches report.csv into your current directory.
The command above uses archive mode (-a), which preserves permissions, ownership and special files as well as timestamps and symlinks, where permitted. Syq normally preserves timestamps and links; it keeps existing destination permissions and limits new-file permissions by the destination umask. It does not preserve ownership or copy special files by default.
For a closer match:
rsync -t --mkpath --modify-window=-1 server:/data/report.csv .-t preserves modification times. --mkpath (rsync 3.2.3+) creates missing destination parents. --modify-window=-1 compares fractional seconds too; the simpler command compares only whole seconds.
Syq’s size-and-time comparison ignores trailing fractional digits where the destination timestamp has zeros; rsync with --modify-window=-1 requires exact nanosecond equality. Use content hashing when matching timestamps are not enough.
rsync
rsync --dry-run --itemize-changes -a project/ server:/backup/syq
syq cp --dry-run -v --srcs-in project --to server --into /backupLists planned changes without copying file data.
The command above uses archive mode (-a), which preserves permissions, ownership and special files as well as timestamps and symlinks, where permitted. Syq normally preserves timestamps and links; it keeps existing destination permissions and limits new-file permissions by the destination umask. It does not preserve ownership or copy special files by default.
For a closer match:
rsync --dry-run --itemize-changes -rlt --mkpath --modify-window=-1 project/ server:/backup/-t preserves modification times; -r recurses into directories and -l preserves symlinks. --mkpath (rsync 3.2.3+) creates missing destination parents. --modify-window=-1 compares fractional seconds too; the simpler command compares only whole seconds.
Syq’s size-and-time comparison ignores trailing fractional digits where the destination timestamp has zeros; rsync with --modify-window=-1 requires exact nanosecond equality. Use content hashing when matching timestamps are not enough.
Rsync can replace an empty destination directory with a source file. Syq refuses file/directory type conflicts, even for empty directories.
rsync
rsync -a report.csv server:/backup/latest.csvsyq
syq cp report.csv --to server --as /backup/latest.csvCopies report.csv to /backup/latest.csv; the source stays.
The command above uses archive mode (-a), which preserves permissions, ownership and special files as well as timestamps and symlinks, where permitted. Syq normally preserves timestamps and links; it keeps existing destination permissions and limits new-file permissions by the destination umask. It does not preserve ownership or copy special files by default.
For a closer match:
rsync -t --mkpath --modify-window=-1 report.csv server:/backup/latest.csv-t preserves modification times. --mkpath (rsync 3.2.3+) creates missing destination parents. --modify-window=-1 compares fractional seconds too; the simpler command compares only whole seconds.
Syq’s size-and-time comparison ignores trailing fractional digits where the destination timestamp has zeros; rsync with --modify-window=-1 requires exact nanosecond equality. Use content hashing when matching timestamps are not enough.
If a requested destination filename is already a directory, rsync copies inside it. Syq refuses to replace that directory with a file.
A script chooses beach.jpg for a.jpg and summit.jpg for b.jpg.
rsync
rsync -a photos/a.jpg server:/archive/beach.jpg
rsync -a photos/b.jpg server:/archive/summit.jpgsyq
files.ndjson
{"src":{"encoding":"utf-8","value":"a.jpg"},"dst":{"encoding":"utf-8","value":"beach.jpg"}}
{"src":{"encoding":"utf-8","value":"b.jpg"},"dst":{"encoding":"utf-8","value":"summit.jpg"}}syq cp --mapping files.ndjson -C photos --to server --into /archiveGenerate a mapping with a script.
The command above uses archive mode (-a), which preserves permissions, ownership and special files as well as timestamps and symlinks, where permitted. Syq normally preserves timestamps and links; it keeps existing destination permissions and limits new-file permissions by the destination umask. It does not preserve ownership or copy special files by default.
For a closer match:
rsync -t --mkpath --modify-window=-1 photos/a.jpg server:/archive/beach.jpg
rsync -t --mkpath --modify-window=-1 photos/b.jpg server:/archive/summit.jpg-t preserves modification times. --mkpath (rsync 3.2.3+) creates missing destination parents. --modify-window=-1 compares fractional seconds too; the simpler command compares only whole seconds.
Syq’s size-and-time comparison ignores trailing fractional digits where the destination timestamp has zeros; rsync with --modify-window=-1 requires exact nanosecond equality. Use content hashing when matching timestamps are not enough.
If a requested destination filename is already a directory, rsync copies inside it. Syq refuses to replace that directory with a file.
These rsync commands run separately. Syq validates the complete mapping for duplicate destinations and file/ancestor conflicts before copying.
rclone
rclone copyto report.csv s3:backups/reports/report.csvsyq
syq cp report.csv --to s3://backups --as reports/report.csvUploads report.csv to reports/report.csv in bucket backups.
Here s3 is an rclone S3 remote. Syq uses AWS credentials and its own endpoint settings.
When sizes match but modification times differ, rclone can compare available hashes and update only the timestamp if the contents match. Syq’s default unchanged-file check uses size and modification time, without that hash fallback.
Rclone stores source modification times in S3 metadata named mtime; syq uses syq-mtime and syq-mtime-nsec. Each tool restores its own timestamp format; one tool’s upload does not give the other the same source-time information.
rclone
rclone copy project backupsyq
syq cp --srcs-in project --into backupCopies project/index.html to backup/index.html. Destination-only files stay.
The command above does not request empty-directory or symlink preservation. For a closer match:
rclone copy --links --create-empty-src-dirs project backup--create-empty-src-dirs includes empty directories. --links preserves symlinks through rclone’s link representation, restoring real links on a local destination.
When sizes match but modification times differ, rclone can compare available hashes and update only the timestamp if the contents match. Syq’s default unchanged-file check uses size and modification time, without that hash fallback.
Without --metadata, rclone does not restore source Unix permission bits. Syq gives new files the source read/write/execute bits limited by the destination umask and keeps existing destination permissions. Rclone’s --metadata would additionally restore ownership and other metadata, so it does not match syq’s default either.
rclone
rclone copy project s3:backups/projectsyq
syq cp --srcs-in project --to s3://backups --into projectUploads project/index.html to the key project/index.html in bucket backups.
s3 is an rclone S3 remote. Syq uses AWS credentials and endpoint settings.
The command above does not request empty-directory or symlink preservation. For a closer match:
rclone copy --links --create-empty-src-dirs --s3-directory-markers project s3:backups/project--create-empty-src-dirs includes empty directories. --links preserves symlinks through rclone’s link representation, restoring real links on a local destination.
--s3-directory-markers stores empty folders as objects whose names end in /.
When sizes match but modification times differ, rclone can compare available hashes and update only the timestamp if the contents match. Syq’s default unchanged-file check uses size and modification time, without that hash fallback.
Rclone stores source modification times in S3 metadata named mtime; syq uses syq-mtime and syq-mtime-nsec. Each tool restores its own timestamp format; one tool’s upload does not give the other the same source-time information.
Rclone --links uploads a symlink as a text file with a .rclonelink suffix. Syq keeps the original name: as a real link on an SSH server, or an object marked as a symlink in S3.
rclone
rclone sync project backupsyq
syq cp --prune --srcs-in project --into backupUpdates backup with the contents of project and removes destination entries absent from the source.
The command above does not request empty-directory or symlink preservation. For a closer match:
rclone sync --links --create-empty-src-dirs project backup--create-empty-src-dirs includes empty directories. --links preserves symlinks through rclone’s link representation, restoring real links on a local destination.
When sizes match but modification times differ, rclone can compare available hashes and update only the timestamp if the contents match. Syq’s default unchanged-file check uses size and modification time, without that hash fallback.
Without --metadata, rclone does not restore source Unix permission bits. Syq gives new files the source read/write/execute bits limited by the destination umask and keeps existing destination permissions. Rclone’s --metadata would additionally restore ownership and other metadata, so it does not match syq’s default either.
rclone
rclone copy s3:backups/reports reportssyq
syq cp --from s3://backups --srcs-in reports --into reportsDownloads reports/january.csv from S3 to reports/january.csv locally, keeping subfolders.
Here s3 is an rclone S3 remote. Unrelated local files stay.
The command above does not request empty-directory or symlink preservation. For a closer match:
rclone copy --links --create-empty-src-dirs s3:backups/reports reports--create-empty-src-dirs includes empty directories. --links preserves symlinks through rclone’s link representation, restoring real links on a local destination.
When sizes match but modification times differ, rclone can compare available hashes and update only the timestamp if the contents match. Syq’s default unchanged-file check uses size and modification time, without that hash fallback.
Rclone stores source modification times in S3 metadata named mtime; syq uses syq-mtime and syq-mtime-nsec. Each tool restores its own timestamp format; one tool’s upload does not give the other the same source-time information.
Rclone --links restores its .rclonelink objects as local symlinks. Syq restores objects carrying syq’s symlink metadata. Neither decodes the other format.
Without --metadata, rclone does not restore source Unix permission bits. Syq gives new files the source read/write/execute bits limited by the destination umask and keeps existing destination permissions. Rclone’s --metadata would additionally restore ownership and other metadata, so it does not match syq’s default either.
rclone
rclone copyto s3:backups/report.csv s3:archive/report.csvsyq
syq cp --from s3://backups report.csv --to s3://archive --as report.csvCopies report.csv from bucket backups to bucket archive.
Here s3 is an rclone S3 remote. Both buckets must exist on the same S3 service for this syq example.
Rclone’s default skip decision uses size and modification time, with a hash comparison when times differ. Syq checks object type, size and copyable metadata, then compares full-object checksums when available; otherwise, it accepts matching ETags or a source carrying syq metadata. These tests can make different decisions about whether to copy an existing object.
rclone
rclone copy --dry-run project backupsyq
syq cp --dry-run -v --srcs-in project --into backupPreviews copying the contents of project into backup.
The command above does not request empty-directory or symlink preservation. For a closer match:
rclone copy --dry-run --links --create-empty-src-dirs project backup--create-empty-src-dirs includes empty directories. --links preserves symlinks through rclone’s link representation, restoring real links on a local destination.
When sizes match but modification times differ, rclone can compare available hashes and update only the timestamp if the contents match. Syq’s default unchanged-file check uses size and modification time, without that hash fallback.
Without --metadata, rclone does not restore source Unix permission bits. Syq gives new files the source read/write/execute bits limited by the destination umask and keeps existing destination permissions. Rclone’s --metadata would additionally restore ownership and other metadata, so it does not match syq’s default either.
rclone
rclone copyto report.csv latest.csvsyq
syq cp report.csv --as latest.csvCopies report.csv to latest.csv in your current directory; the source stays.
When sizes match but modification times differ, rclone can compare available hashes and update only the timestamp if the contents match. Syq’s default unchanged-file check uses size and modification time, without that hash fallback.
Without --metadata, rclone does not restore source Unix permission bits. Syq gives new files the source read/write/execute bits limited by the destination umask and keeps existing destination permissions. Rclone’s --metadata would additionally restore ownership and other metadata, so it does not match syq’s default either.
rclone
rclone deletefile s3:backups/old.csvsyq
syq rm --on s3://backups old.csvRemoves the object old.csv from bucket backups.
Here s3 is an rclone S3 remote.
rclone
rclone copy project server:/backup/projectsyq
syq cp project --to server --into /backupCopies project to /backup/project on the server.
Configure server as an rclone SFTP remote.
The command above does not request empty-directory or symlink preservation. For a closer match:
rclone copy --links --create-empty-src-dirs project server:/backup/project--create-empty-src-dirs includes empty directories. --links preserves symlinks through rclone’s link representation, restoring real links on a local destination.
When sizes match but modification times differ, rclone can compare available hashes and update only the timestamp if the contents match. Syq’s default unchanged-file check uses size and modification time, without that hash fallback.
Rclone --links uploads a symlink as a text file with a .rclonelink suffix. Syq keeps the original name: as a real link on an SSH server, or an object marked as a symlink in S3.
Without --metadata, rclone does not restore source Unix permission bits. Syq gives new files the source read/write/execute bits limited by the destination umask and keeps existing destination permissions. Rclone’s --metadata would additionally restore ownership and other metadata, so it does not match syq’s default either.
rclone
rclone copyto server:/data/report.csv report.csvsyq
syq cp --from server /data/report.csv --into .Downloads report.csv into your current folder.
Here server is an rclone SFTP remote.
When sizes match but modification times differ, rclone can compare available hashes and update only the timestamp if the contents match. Syq’s default unchanged-file check uses size and modification time, without that hash fallback.
Without --metadata, rclone does not restore source Unix permission bits. Syq gives new files the source read/write/execute bits limited by the destination umask and keeps existing destination permissions. Rclone’s --metadata would additionally restore ownership and other metadata, so it does not match syq’s default either.
A script chooses beach.jpg for a.jpg and summit.jpg for b.jpg.
rclone
rclone copyto photos/a.jpg archive/beach.jpg
rclone copyto photos/b.jpg archive/summit.jpgsyq
files.ndjson
{"src":{"encoding":"utf-8","value":"a.jpg"},"dst":{"encoding":"utf-8","value":"beach.jpg"}}
{"src":{"encoding":"utf-8","value":"b.jpg"},"dst":{"encoding":"utf-8","value":"summit.jpg"}}syq cp --mapping files.ndjson -C photos --into archiveGenerate a mapping with a script.
When sizes match but modification times differ, rclone can compare available hashes and update only the timestamp if the contents match. Syq’s default unchanged-file check uses size and modification time, without that hash fallback.
Without --metadata, rclone does not restore source Unix permission bits. Syq gives new files the source read/write/execute bits limited by the destination umask and keeps existing destination permissions. Rclone’s --metadata would additionally restore ownership and other metadata, so it does not match syq’s default either.
These rclone commands run separately. Syq checks the complete mapping for duplicate destinations and file/ancestor conflicts before copying.
s5cmd
s5cmd cp report.csv s3://backups/reports/report.csvsyq
syq cp report.csv --to s3://backups --as reports/report.csvUploads report.csv to the exact key reports/report.csv in bucket backups.
S5cmd cp copies selected files again even when the destination already matches. Syq can skip unchanged entries. S5cmd’s size-only and source-newer conditions do not reproduce syq’s default comparison.
S5cmd uploads regular file contents without automatically recording source Unix permissions or modification times. Syq records those in its S3 metadata and restores modification times on download.
s5cmd
s5cmd cp 's3://backups/reports/*' reports/syq
syq cp --from s3://backups --srcs-in reports --into reportsDownloads reports/january.csv from S3 to reports/january.csv locally, keeping subfolders.
S5cmd cp copies selected files again even when the destination already matches. Syq can skip unchanged entries. S5cmd’s size-only and source-newer conditions do not reproduce syq’s default comparison.
S5cmd downloads object bodies as regular files; it does not restore syq’s symlink or timestamp metadata. Syq recognizes that metadata and restores the original object type and modification time.
s5cmd
s5cmd cp s3://backups/report.csv s3://archive/report.csvsyq
syq cp --from s3://backups report.csv --to s3://archive --as report.csvCopies the key report.csv from bucket backups to bucket archive.
Both buckets must exist on the same S3 service for this example.
S5cmd cp copies selected files again even when the destination already matches. Syq can skip unchanged entries. S5cmd’s size-only and source-newer conditions do not reproduce syq’s default comparison.
s5cmd
s5cmd --dry-run cp report.csv s3://backups/report.csvsyq
syq cp --dry-run -v report.csv --to s3://backups --as report.csvPreviews uploading report.csv without writing the object.
S5cmd cp copies selected files again even when the destination already matches. Syq can skip unchanged entries. S5cmd’s size-only and source-newer conditions do not reproduce syq’s default comparison.
S5cmd uploads regular file contents without automatically recording source Unix permissions or modification times. Syq records those in its S3 metadata and restores modification times on download.
s5cmd
s5cmd cp report.csv s3://backups/latest.csvsyq
syq cp report.csv --to s3://backups --as latest.csvUploads report.csv as the key latest.csv; the local source stays.
S5cmd cp copies selected files again even when the destination already matches. Syq can skip unchanged entries. S5cmd’s size-only and source-newer conditions do not reproduce syq’s default comparison.
S5cmd uploads regular file contents without automatically recording source Unix permissions or modification times. Syq records those in its S3 metadata and restores modification times on download.
s5cmd
s5cmd rm s3://backups/old.csvsyq
syq rm --on s3://backups old.csvRemoves the object old.csv from bucket backups.
s5cmd
s5cmd cp project/ s3://backups/project/syq
syq cp --srcs-in project --to s3://backups --into projectUploads project/index.html to project/index.html in bucket backups.
Unrelated objects stay.
S5cmd cp copies selected files again even when the destination already matches. Syq can skip unchanged entries. S5cmd’s size-only and source-newer conditions do not reproduce syq’s default comparison.
S5cmd uploads regular file contents without automatically recording source Unix permissions or modification times. Syq records those in its S3 metadata and restores modification times on download.
S5cmd follows source symlinks and omits empty directories. Its --no-follow-symlinks skips links rather than preserving them. Syq stores symlinks and empty directories for restoration by syq.
s5cmd
s5cmd cp project/ s3://backups/project/syq
syq cp --srcs-in project --to s3://backups --into projectCopies the files inside project to the project/ folder in S3.
S5cmd cp copies selected files again even when the destination already matches. Syq can skip unchanged entries. S5cmd’s size-only and source-newer conditions do not reproduce syq’s default comparison.
S5cmd uploads regular file contents without automatically recording source Unix permissions or modification times. Syq records those in its S3 metadata and restores modification times on download.
S5cmd follows source symlinks and omits empty directories. Its --no-follow-symlinks skips links rather than preserving them. Syq stores symlinks and empty directories for restoration by syq.
s5cmd
s5cmd sync --delete project/ s3://backups/project/syq
syq cp --prune --srcs-in project --to s3://backups --into projectUpdates the project/ folder in S3 and removes objects absent from the local project folder.
S5cmd sync copies when sizes differ or the source modification time is newer. Syq can also update a same-size destination whose modification time is newer than the source. For S3, s5cmd uses the object’s service timestamp; syq uses its stored source timestamp when present.
S5cmd runs its generated copy and removal commands concurrently. Syq waits for copying to finish and suppresses pruning after scan or copy errors.
S5cmd uploads regular file contents without automatically recording source Unix permissions or modification times. Syq records those in its S3 metadata and restores modification times on download.
S5cmd follows source symlinks and omits empty directories. Its --no-follow-symlinks skips links rather than preserving them. Syq stores symlinks and empty directories for restoration by syq.
A script chooses beach.jpg for a.jpg and summit.jpg for b.jpg.
s5cmd
copies.txt
cp photos/a.jpg s3://backups/archive/beach.jpg
cp photos/b.jpg s3://backups/archive/summit.jpgs5cmd run copies.txtsyq
files.ndjson
{"src":{"encoding":"utf-8","value":"a.jpg"},"dst":{"encoding":"utf-8","value":"beach.jpg"}}
{"src":{"encoding":"utf-8","value":"b.jpg"},"dst":{"encoding":"utf-8","value":"summit.jpg"}}syq cp --mapping files.ndjson -C photos --to s3://backups --into archiveGenerate a mapping with a script.
S5cmd cp copies selected files again even when the destination already matches. Syq can skip unchanged entries. S5cmd’s size-only and source-newer conditions do not reproduce syq’s default comparison.
S5cmd uploads regular file contents without automatically recording source Unix permissions or modification times. Syq records those in its S3 metadata and restores modification times on download.
S5cmd executes independent commands from copies.txt. Syq checks the entire mapping for duplicate destinations and file/ancestor conflicts before copying.
scp
scp -p report.csv server:/backup/syq
syq cp report.csv --to server --into /backupCopies report.csv to /backup/report.csv on server.
Scp -p preserves source permission bits and access times as well as modification times. Syq preserves modification times, leaves existing destination permissions alone, and creates files with source read/write/execute bits limited by the destination umask; it does not preserve source access times.
Scp transfers each file again and writes directly to the destination. Syq can skip unchanged files and normally stages changed files before replacing them, keeping the old file available until replacement.
The scp destination directory must already exist for the placement shown. Syq creates missing destination directories.
scp
scp -p server:/data/report.csv .syq
syq cp --from server /data/report.csv --into .Copies the server’s /data/report.csv to report.csv in your current directory.
Scp -p preserves source permission bits and access times as well as modification times. Syq preserves modification times, leaves existing destination permissions alone, and creates files with source read/write/execute bits limited by the destination umask; it does not preserve source access times.
Scp transfers each file again and writes directly to the destination. Syq can skip unchanged files and normally stages changed files before replacing them, keeping the old file available until replacement.
scp
scp -pr project server:/backup/syq
syq cp project --to server --into /backupCopies project to /backup/project.
Scp -p preserves source permission bits and access times as well as modification times. Syq preserves modification times, leaves existing destination permissions alone, and creates files with source read/write/execute bits limited by the destination umask; it does not preserve source access times.
Scp transfers each file again and writes directly to the destination. Syq can skip unchanged files and normally stages changed files before replacing them, keeping the old file available until replacement.
Scp follows symlinks inside the copied tree and copies their targets. Syq copies those links themselves.
The scp destination directory must already exist for the placement shown. Syq creates missing destination directories.
scp
scp -p report.csv server:/backup/latest.csvsyq
syq cp report.csv --to server --as /backup/latest.csvCopies report.csv to /backup/latest.csv; the source stays.
Scp -p preserves source permission bits and access times as well as modification times. Syq preserves modification times, leaves existing destination permissions alone, and creates files with source read/write/execute bits limited by the destination umask; it does not preserve source access times.
Scp transfers each file again and writes directly to the destination. Syq can skip unchanged files and normally stages changed files before replacing them, keeping the old file available until replacement.
The scp destination directory must already exist for the placement shown. Syq creates missing destination directories.
If a requested destination filename is already a directory, scp copies inside it. Syq refuses to replace that directory with a file.
scp
scp -pr project/. server:/backup/syq
syq cp --srcs-in project --to server --into /backupCopies project’s contents, including hidden files and subfolders, into /backup.
Scp -p preserves source permission bits and access times as well as modification times. Syq preserves modification times, leaves existing destination permissions alone, and creates files with source read/write/execute bits limited by the destination umask; it does not preserve source access times.
Scp transfers each file again and writes directly to the destination. Syq can skip unchanged files and normally stages changed files before replacing them, keeping the old file available until replacement.
Scp follows symlinks inside the copied tree and copies their targets. Syq copies those links themselves.
The scp destination directory must already exist for the placement shown. Syq creates missing destination directories.
A script chooses beach.jpg for a.jpg and summit.jpg for b.jpg.
scp
scp -p photos/a.jpg server:/archive/beach.jpg
scp -p photos/b.jpg server:/archive/summit.jpgsyq
files.ndjson
{"src":{"encoding":"utf-8","value":"a.jpg"},"dst":{"encoding":"utf-8","value":"beach.jpg"}}
{"src":{"encoding":"utf-8","value":"b.jpg"},"dst":{"encoding":"utf-8","value":"summit.jpg"}}syq cp --mapping files.ndjson -C photos --to server --into /archiveGenerate a mapping with a script.
Scp -p preserves source permission bits and access times as well as modification times. Syq preserves modification times, leaves existing destination permissions alone, and creates files with source read/write/execute bits limited by the destination umask; it does not preserve source access times.
Scp transfers each file again and writes directly to the destination. Syq can skip unchanged files and normally stages changed files before replacing them, keeping the old file available until replacement.
The scp destination directory must already exist for the placement shown. Syq creates missing destination directories.
If a requested destination filename is already a directory, scp copies inside it. Syq refuses to replace that directory with a file.
These scp commands run separately. Syq checks the complete mapping for duplicate destinations and file/ancestor conflicts before copying.
syq
syq cp report.csv --to server --into /backupCopies report.csv to /backup/report.csv on server.
Replace server with your SSH host or alias.
syq
syq cp project --to server --into /backupCopies project to /backup/project. Other entries in /backup stay.
syq
syq cp --srcs-in project --to server --into /backupCopies project/index.html to /backup/index.html. Destination-only files stay.
syq
syq cp --prune --srcs-in project --to server --into /backupUpdates /backup with the contents of project and removes destination entries absent from the source.
syq
syq cp --from server /data/report.csv --into .Fetches report.csv into your current directory.
Run this on your laptop. The source path is on server.
syq
syq cp --dry-run -v --srcs-in project --to server --into /backupLists planned changes without copying file data.
syq
syq cp report.csv --to server --as /backup/latest.csvCopies report.csv to /backup/latest.csv; the source stays.
A script chooses beach.jpg for a.jpg and summit.jpg for b.jpg.
syq
files.ndjson
{"src":{"encoding":"utf-8","value":"a.jpg"},"dst":{"encoding":"utf-8","value":"beach.jpg"}}
{"src":{"encoding":"utf-8","value":"b.jpg"},"dst":{"encoding":"utf-8","value":"summit.jpg"}}syq cp --mapping files.ndjson -C photos --into archivesyq
syq cp --srcs-in project --to s3://backups --into projectUploads project/index.html to project/index.html in bucket backups.
The backups bucket must already exist. Configure AWS credentials and any custom S3 endpoint.
syq
syq cp --from s3://backups --srcs-in reports --into reportsDownloads reports/january.csv from S3 to reports/january.csv locally, keeping subfolders.
syq
syq cp --from s3://backups report.csv --to s3://archive --as report.csvCopies report.csv from bucket backups to bucket archive.
Both buckets must exist on the same S3 service for this example.
syq
syq rm --on s3://backups old.csvRemoves the object old.csv from bucket backups.
syq
# On the server:
syq cp results --to @laptopSends results home from the server shell. Your laptop needs no SSH server or incoming port.
Set up the receiving name laptop, then approve the copy on your laptop.
Rsync, scp, and rclone can pull from the laptop instead. S5cmd can stage files in S3.
syq
# On your laptop:
syq cp --from hostA --srcs-in results --to hostB --into resultsUses your laptop’s SSH logins. Files travel directly between servers; neither server gets your keys or access to your SSH agent.
The servers need a connection to each other. Setup.
Scp -3 and rclone relay through your laptop. Rsync on hostA or scp -R requires hostA to have its own access to hostB. S5cmd can stage files in S3.