How to Use AWS S3 Sync Command from the CLI [Examples]

AWS S3 sync is a powerful command-line tool, which transfers only new or modified files, thus optimizing the data transfer process and ensuring efficiency.

By @Crystal Last Updated September 4, 2024

What is AWS S3 Sync

AWS S3 sync command is a commonly used in the AWS Command Line Interface that allows you to synchronize files between a local directory and an S3 bucket or between two S3 buckets. The AWS S3 synchronization ensures that data in your local environment is consistently synchronized with your S3 buckets.

AWS CLI S3 Sync is used for:

  • Incremental Updates: Transfers only the files that have changed since the last sync.
  • Versatility: Can be used for local-to-S3, S3-to-local, or S3-to-S3 synchronization.
  • Automation: Can be scripted for automated sync operations.
  • Error Handling: Provides detailed error messages for troubleshooting.

How to Use AWS S3 Sync Command from the CLI [Examples]

This AWS S3 Sync command compares the source and destination, only transferring the files that are new or have been modified, which optimizes the data transfer process and ensures efficiency.

Here are some examples to illustrate how the AWS S3 sync command is used in different scenarios:

โœSyncing local directory to S3 bucket

aws s3 sync ./local-directory s3://my-s3-bucket

This command synchronizes all files from the local directory to the specified S3 bucket.

โœConversely, to sync an S3 bucket to a local directory:

aws s3 sync s3://my-s3-bucket ./local-directory

โœSyncing Between S3 Buckets

aws s3 sync s3://source-bucket s3://destination-bucket

This command synchronizes files from one S3 bucket to another.

โœSyncing Specific File Types

You can limit the sync to specific file types using the --include and --exclude parameters. For example, to sync only .txt files:

aws s3 sync ./local-directory s3://my-s3-bucket --exclude "*" --include "*.txt"

โœExcluding Files from Sync

Excluding certain files or directories from the sync operation can be achieved using the --exclude parameter. For instance, to exclude all log files:

aws s3 sync ./local-directory s3://my-s3-bucket --exclude "*.log"

 

๐Ÿ’ฅNote: Choosing the right sync strategy is crucial for optimizing performance and cost. AWS S3 sync supports different strategies like one-way sync, bi-directional sync, and hybrid sync.

Real-Time Sync vs. Scheduled Sync

While real-time sync ensures immediate consistency, it may not always be necessary since it can be resource-intensive.

Scheduled sync operations can be more efficient and cost-effective, especially for large datasets with infrequent changes.

Here is to compare the differences between real-time sync and scheduled sync:

Both real-time sync and scheduled sync offer valuable benefits. Real-time sync is essential for applications that need immediate data consistency, while scheduled sync provides a more resource-efficient and manageable approach for regular data synchronization tasks. By understanding the strengths and limitations of each method, you can make an informed decision that best supports your data management strategy.

How to Backup Files to Amazon S3 Automatically

AOMEI Cyber Backup is a professional backup software that provides a wide range of backup and recovery solutions. It supports system backups, disk backups, partition backups, and file backups, making it a comprehensive tool for safeguarding data. The software is designed to be user-friendly, with a straightforward interface that guides users through the backup process with ease.

  • Automatic Backup Scheduling: Allows users to set up automatic backup schedules.
  • Incremental and Differential Backups: Reduces backup time and storage space by only backing up changed data.
  • Easy Restoration: Simplifies the process of restoring data from backups.
Download Freeware Auto Backup Solution
Secure Download

1. Click Target Storage Amazon S3 Add Target to open the add target page. Enter your Amazon S3 credentials including usernamekeyword, and bucket name, then click Confirm. Ensure you have the necessary permissions set up in your AWS account.

2. Click Backup Task Create New Task to starting archiving your important data to Amazon S3. Select File Backup (for example) and choose files or folders for backup.

3. Check Archiving backup versions to Amazon S3 and click Select to choose the added Amazon S3.

4. Schedule backup task to run daily/weekly/monthly, and select backup retention policies to delete old backups automatically.

5. Click "Start Backup" to begin the backup process. It will first create a backup locally or on the NAS and then upload the backup to Amazon S3.

FAQ about AWS S3 Synchronization

Q: Does AWS S3 sync overwrite files?

A: Yes, AWS S3 sync overwrites files if the source file is newer or has a different size than the destination file. By default, AWS S3 sync compares both the size and the last modified timestamp of files to determine whether they should be overwritten. If the source file is different, it will replace the destination file to ensure synchronization.

Q: Does AWS S3 sync create duplicates?

A: No, AWS S3 sync does not create duplicates. It is designed to synchronize files between the source and destination by transferring only the files that are new or have been modified. If a file already exists in the destination and has not changed in the source, it will not be transferred again. This behavior ensures that duplicates are not created and that the destination remains consistent with the source.

Conclusion

AWS S3 sync is a versatile and powerful tool that plays a crucial role in ensuring data consistency and reliability across different storage environments. By understanding its features, benefits, and best practices, users can effectively leverage AWS S3 sync to manage their data synchronization needs. Whether syncing data for backup, disaster recovery, or everyday operations, AWS S3 sync provides a reliable and efficient solution for maintaining up-to-date and accessible data in the cloud.