mc命令 cp 和 mirror 区别

Linux

mc cp 和 mc mirror 都是 minIO Client(mc)的命令,用于在 minIO 对象存储服务中进行文件传输和同步操作。

mc cp
  • mc cp 用于将本地文件或对象从一个位置复制到另一个位置。
  • 可以用来上传/下载文件、目录,或者在不同桶(bucket)之间进行复制。
  • 通常用于单个文件或目录的复制操作。
mc mirror
  • mc mirror 用于在两个目录之间进行镜像同步。
  • 它会递归地比较源目录和目标目录中的内容,并确保它们保持同步。
  • 如果目标目录中不存在源目录中的文件,则会将其复制过去;如果源目录中的文件被删除了,则目标目录中相应的文件也会被删除。

总的来说,mc cp 主要用于简单的文件复制操作,而 mc mirror 则更适合于目录之间的完整同步操作,可以保持目录结构的一致性,并确保两个目录中的文件保持同步状态。

###
# MC MIRROR EXAMPLES:                                                                                                            ###                                                                                       
  01. Mirror a bucket recursively from MinIO cloud storage to a bucket on Amazon S3 cloud storage.                                                                                                           
      $ mc mirror play/photos/2014 s3/backup-photos                                                                                                                                                          

  02. Mirror a local folder recursively to Amazon S3 cloud storage.                                                                                                                                          
      $ mc mirror backup/ s3/archive                                                                                                                                                                         

  03. Only mirror files that are newer than 7 days, 10 hours and 30 minutes to Amazon S3 cloud storage.                                                                                                      
      $ mc mirror --newer-than "7d10h30m" backup/ s3/archive                                                                                                                                                 

  04. Mirror a bucket from aliased Amazon S3 cloud storage to a folder on Windows.                                                                                                                           
      $ mc mirror s3\documents\2014\ C:\backup\2014                                                                                                                                                          

  05. Mirror a bucket from aliased Amazon S3 cloud storage to a local folder use '--overwrite' to overwrite destination.                                                                                     
      $ mc mirror --overwrite s3/miniocloud miniocloud-backup                                                                                                                                                

  06. Mirror a bucket from MinIO cloud storage to a bucket on Amazon S3 cloud storage and remove any extraneous                                                                                              
      files on Amazon S3 cloud storage.                                                                                                                                                                      
      $ mc mirror --remove play/photos/2014 s3/backup-photos/2014                                                                                                                                            

  07. Continuously mirror a local folder recursively to MinIO cloud storage. '--watch' continuously watches for                                                                                              
      new objects, uploads and removes extraneous files on Amazon S3 cloud storage.                                                                                                                          
      $ mc mirror --remove --watch /var/lib/backups play/backups                                                                                                                                             

  08. Continuously mirror all buckets and objects from site 1 to site 2, removed buckets and objects will be reflected as well.                                                                              
      $ mc mirror --remove --watch site1-alias/ site2-alias/                                                                                                                                                 

  09. Mirror a bucket from aliased Amazon S3 cloud storage to a local folder.                                                                                                                                
      Exclude all .* files and *.temp files when mirroring.                                                                                                                                                  
      $ mc mirror --exclude ".*" --exclude "*.temp" s3/test ~/test                                                                                                                                           

  10. Mirror all buckets from aliased Amazon S3 cloud storage to a local folder.                                                                                                                             
      Exclude test* buckets and backup* buckets when mirroring.                                                                                                                                              
      $ mc mirror --exclude-bucket 'test*' --exclude 'backup*' s3 ~/test                                                                                                                                     

  11. Mirror objects newer than 10 days from bucket test to a local folder.                                                                                                                                  
      $ mc mirror --newer-than 10d s3/test ~/localfolder                                                                                                                                                     

  12. Mirror objects older than 30 days from Amazon S3 bucket test to a local folder.                                                                                                                        
      $ mc mirror --older-than 30d s3/test ~/test                                                                                                                                                            

  13. Mirror server encrypted objects from Amazon S3 cloud storage to a bucket on Amazon S3 cloud storage                                                                                                    
      $ mc mirror --enc-c "minio/archive=MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDA" --enc-c "s3/archive=MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5BBB" s3/archive/ minio/archive/                            

  14. Update 'Cache-Control' header on all existing objects recursively.                                                                                                                                    
      $ mc mirror --attr "Cache-Control=max-age=90000,min-fresh=9000" myminio/video-files myminio/video-files                                                                                                

  15. Mirror a local folder recursively to Amazon S3 cloud storage and preserve all local file attributes.                                                                                                   
      $ mc mirror -a backup/ s3/archive                                                                                                                                                                      

  16. Cross mirror between sites in a active-active deployment.                                                                                                                                              
      Site-A: $ mc mirror --active-active siteA siteB                                                                                                                                                        
      Site-B: $ mc mirror --active-active siteB siteA