Rsync Command

Prev Next

Classic/VPC ํ™˜๊ฒฝ์—์„œ ์ด์šฉ ๊ฐ€๋Šฅํ•ฉ๋‹ˆ๋‹ค.

rsync๋Š” ์›๊ฒฉ ๋˜๋Š” ๋กœ์ปฌ ์‹œ์Šคํ…œ ๊ฐ„์— ํŒŒ์ผ ๋ฐ ๋””๋ ‰ํ„ฐ๋ฆฌ๋ฅผ ๋™๊ธฐํ™”ํ•˜๊ณ  ๋ฐฑ์—…ํ•˜๋Š”๋ฐ ์‚ฌ์šฉ๋˜๋Š” ์œ ํ‹ธ๋ฆฌํ‹ฐ์ž…๋‹ˆ๋‹ค.

์ฃผ์˜

rsync๋ฅผ ์‚ฌ์šฉํ•˜์—ฌ ๋ฐ์ดํ„ฐ๋ฅผ ๋™๊ธฐํ™”ํ•˜๋ ค๋ฉด ๋„คํŠธ์›Œํฌ์˜ ์—ฐ๊ฒฐ ์ƒํƒœ์ด ์•ˆ์ •์ ์œผ๋กœ ์œ ์ง€๋˜์–ด์•ผ ํ•ฉ๋‹ˆ๋‹ค. Source VM์—์„œ Target VM์œผ๋กœ ์—ฐ๊ฒฐ๋œ ๋„คํŠธ์›Œํฌ์˜ ์—ฐ๊ฒฐ ์ƒํƒœ๊ฐ€ ๋ถˆ์•ˆ์ •ํ•  ๊ฒฝ์šฐ, ๋ฐ์ดํ„ฐ ์ „์†ก์— ์‹คํŒจํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. ์ด๋ฅผ ๋ฐฉ์ง€ํ•˜๋ ค๋ฉด ๋‹ค์Œ ํ•ญ๋ชฉ์„ ์ฐธ๊ณ ํ•˜์—ฌ ๋„คํŠธ์›Œํฌ ์—ฐ๊ฒฐ ์ƒํƒœ๋ฅผ ์‚ฌ์ „์— ํ™•์ธํ•ด ์ฃผ์‹ญ์‹œ์˜ค.

  • ACG ๋ฐ Network ACL์—์„œ ํ•„์š”ํ•œ IP ๋Œ€์—ญ, ํฌํŠธ ๋ฐ ํ”„๋กœํ† ์ฝœ์— ๋Œ€ํ•œ ์ธ๋ฐ”์šด๋“œ ๋ฐ ์•„์›ƒ๋ฐ”์šด๋“œ ๊ทœ์น™์„ Target VM๊ณผ Source VM ๊ฐ„์˜ rsync ํŠธ๋ž˜ํ”ฝ์ด ํ—ˆ์šฉ๋˜๋„๋ก ์„ค์ •ํ•ด ์ฃผ์‹ญ์‹œ์˜ค.
  • VPC ํ™˜๊ฒฝ์—์„œ ์™ธ๋ถ€ ํ†ต์‹ ์ด ํ•„์š”ํ•œ ๊ฒฝ์šฐ, ๋‹ค์Œ์˜ ์กฐ๊ฑด์— ํ•ด๋‹น ๋˜๋Š”์ง€ ํ™•์ธํ•ด ์ฃผ์‹ญ์‹œ์˜ค.
    • Public Subnet: IGW ๊ตฌ์„ฑ ๋ฐ ๊ณต์ธ IP๊ฐ€ ํ• ๋‹น๋œ ๊ฒฝ์šฐ
    • Private Subnet: NAT Gateway ๊ตฌ์„ฑ๋œ ๊ฒฝ์šฐ
  • ๋Œ€๋Ÿ‰์˜ ๋ฐ์ดํ„ฐ๋ฅผ ๋ณต์‚ฌํ•˜๋ ค๋ฉด ๋„คํŠธ์›Œํฌ ๋Œ€์—ญํญ์ด ์ถฉ๋ถ„ํ•ด์•ผ ํ•ฉ๋‹ˆ๋‹ค. Target VM๊ณผ Source VM ๊ฐ„์˜ ๋„คํŠธ์›Œํฌ ๋Œ€์—ญํญ์ด ์ถฉ๋ถ„ํ•˜์ง€ ์•Š์œผ๋ฉด, ๋ฐ์ดํ„ฐ ์ „์†ก ์†๋„๊ฐ€ ๋А๋ ค์งˆ ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. ์ด๋ฅผ ๋ฐฉ์ง€ํ•˜๋ ค๋ฉด rsync ๋ช…๋ น์–ด์— --bwlimit ์˜ต์…˜์„ ์ถ”๊ฐ€ํ•˜์—ฌ ๋Œ€์—ญํญ ์ œํ•œ์„ ์„ค์ •ํ•ด ์ฃผ์‹ญ์‹œ์˜ค.
์ฐธ๊ณ 

rsync๋ฅผ ์‚ฌ์šฉํ•˜์—ฌ ๋ฐ์ดํ„ฐ๋ฅผ ๋™๊ธฐํ™”ํ•˜๋Š” ๋„์ค‘์— ์˜ค๋ฅ˜๊ฐ€ ๋ฐœ์ƒํ•˜๋Š” ๊ฒƒ์„ ๋ฐฉ์ง€ํ•˜๊ธฐ ์œ„ํ•ด ์‚ฌ์ „์— ๋ฐฑ์—…์„ ์ˆ˜ํ–‰ํ•˜๋Š” ๊ฒƒ์„ ๊ถŒ์žฅํ•ฉ๋‹ˆ๋‹ค.

rsync๋ฅผ ์‚ฌ์šฉํ•˜์—ฌ VM ๊ฐ„์— ๋ฐ์ดํ„ฐ๋ฅผ ๋™๊ธฐํ™”ํ•˜๋Š” ๋ฐฉ๋ฒ•์€ ๋‹ค์Œ๊ณผ ๊ฐ™์Šต๋‹ˆ๋‹ค.

  1. Source VM๊ณผ Target VM์— rsync ํŒจํ‚ค์ง€๊ฐ€ ์„ค์น˜๋˜์–ด ์žˆ๋Š”์ง€ ํ™•์ธํ•ด ์ฃผ์‹ญ์‹œ์˜ค.
    • rsync ํŒจํ‚ค์ง€๊ฐ€ ์„ค์น˜๋˜์–ด ์žˆ๋‹ค๋ฉด ๋‹ค์Œ๊ณผ ๊ฐ™์ด ๋ฒ„์ „ ์ •๋ณด๊ฐ€ ์ถœ๋ ฅ๋ฉ๋‹ˆ๋‹ค.
      # rsync --version
      rsync  version 3.1.3  protocol version 31
      Copyright (C) 1996-2018 by Andrew Tridgell, Wayne Davison, and others.
      Web site: http://rsync.samba.org/
      Capabilities:
         64-bit files, 64-bit inums, 64-bit timestamps, 64-bit long ints,
         socketpairs, hardlinks, symlinks, IPv6, batchfiles, inplace,
        append, ACLs, xattrs, iconv, symtimes, prealloc
      
      rsync comes with ABSOLUTELY NO WARRANTY.  This is free software, and you
      are welcome to redistribute it under certain conditions.  See the GNU
      General Public Licence for details.
      
      Plain text
  2. ์„ค์น˜๊ฐ€ ๋˜์–ด์žˆ์ง€ ์•Š์€ ๊ฒฝ์šฐ, OS๋ณ„ ๋ช…๋ น์–ด๋ฅผ ์ž…๋ ฅํ•˜์—ฌ rsync ํŒจํ‚ค์ง€๋ฅผ ์„ค์น˜ํ•ด ์ฃผ์‹ญ์‹œ์˜ค.
    • CentOS/Rocky Linux
      # yum install rsync
      
      Plain text
    • Ubuntu
      # apt-get install rsync
      
      Plain text
  3. rsync๋ฅผ ์‚ฌ์šฉํ•˜์—ฌ ๋ฐ์ดํ„ฐ๋ฅผ ๋ณต์‚ฌํ•˜๊ธฐ ์ „์— Target VM์˜ ํฌํŠธ ์„ค์ •์„ ํ™•์ธํ•ด ์ฃผ์‹ญ์‹œ์˜ค.
    ์ฐธ๊ณ 

    ๋ฐฉํ™”๋ฒฝ์˜ ์„ค์ •์— ๋”ฐ๋ผ rsync ์—ฐ๊ฒฐ์ด ์ฐจ๋‹จ๋  ์ˆ˜ ์žˆ์œผ๋ฏ€๋กœ, ํ•„์š”ํ•œ ํฌํŠธ๊ฐ€ ์—ด๋ ค์žˆ๋Š”์ง€ ํ™•์ธํ•˜๊ณ  ํ•„์š”์— ๋”ฐ๋ผ ๋ฐฉํ™”๋ฒฝ ์„ค์ •์„ ๋ณ€๊ฒฝํ•ด ์ฃผ์‹ญ์‹œ์˜ค.

    • rsync๋Š” ๊ธฐ๋ณธ์ ์œผ๋กœ ํ†ต์‹ ์— TCP ํฌํŠธ 873์„ ์‚ฌ์šฉํ•ฉ๋‹ˆ๋‹ค. ์›๊ฒฉ ํ˜ธ์ŠคํŠธ์— ์—ฐ๊ฒฐํ•  ๊ฒฝ์šฐ, ํฌํŠธ 873์ด ๋ฐฉํ™”๋ฒฝ์ด๋‚˜ ๋„คํŠธ์›Œํฌ ์ œํ•œ์œผ๋กœ ์ฐจ๋‹จ๋˜์ง€ ์•Š์•˜๋Š”์ง€ ํ™•์ธํ•ด ์ฃผ์‹ญ์‹œ์˜ค.
      ## telnet command
      # telnet [IP_ADDRESS] 873
      
      ## nmap command
      # nmap -p 873 [IP_ADDRESS]
      
      Plain text
    • rsync ํ†ต์‹ ์— ๋‹ค๋ฅธ ํฌํŠธ๋ฅผ ์‚ฌ์šฉํ•ด์•ผ ํ•  ๊ฒฝ์šฐ, -e ์˜ต์…˜์„ ์‚ฌ์šฉํ•˜์—ฌ ํ•ด๋‹น ์›๊ฒฉ ์‰˜ ๋ช…๋ น์–ด๋ฅผ ์ง€์ •ํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.
      <์˜ˆ์‹œ> ํฌํŠธ 2222๋ฅผ ์‚ฌ์šฉํ•˜๋Š” ๋ช…๋ น์–ด
      # rsync -e 'ssh -p 2222' /source_dir username@destination:/destination_dir
      
      Plain text
  4. ๋ฐ์ดํ„ฐ๋ฅผ ์ „์†กํ•  Source VM์—์„œ rsync ๋ช…๋ น์–ด๋ฅผ ์‹คํ–‰ํ•ด ์ฃผ์‹ญ์‹œ์˜ค.
    • ํ•„์š”์— ๋”ฐ๋ผ ๋ช…๋ น์–ด์˜ ์˜ต์…˜์„ ์กฐ์ •ํ•˜์—ฌ ๋ฐ์ดํ„ฐ ์ „์†ก์„ ์ตœ์ ํ™”ํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.
    • <์˜ˆ์‹œ> ๋ฐ์ดํ„ฐ๋ฅผ ๋™๊ธฐํ™”ํ•˜๋Š” ๋ช…๋ น์–ด
      # rsync -avz --progress --bwlimit=10000 /source_dir username@destination:/destination_dir
      
      Plain text
      • /source_dir: ๋™๊ธฐํ™”ํ•˜๋ ค๋Š” ๋ฐ์ดํ„ฐ์˜ ๊ฒฝ๋กœ
      • username: Target ์„œ๋ฒ„์— ๋กœ๊ทธ์ธํ•˜๋Š” ๋ฐ ์‚ฌ์šฉ๋˜๋Š” ์‚ฌ์šฉ์ž ์ด๋ฆ„
      • destination: Target ์„œ๋ฒ„์˜ IP ์ฃผ์†Œ ๋˜๋Š” ๋„๋ฉ”์ธ ์ด๋ฆ„
      • ํ•ด๋‹น ์˜ˆ์‹œ์—์„œ ์‚ฌ์šฉํ•˜๋Š” ์˜ต์…˜์€ ๋‹ค์Œ๊ณผ ๊ฐ™์Šต๋‹ˆ๋‹ค.
        • -a: ์•„์นด์ด๋ธŒ ๋ชจ๋“œ๋ฅผ ์‚ฌ์šฉํ•˜์—ฌ ๋ชจ๋“  ํŒŒ์ผ ์†์„ฑ ๋ณด์กด
        • -v: ์ƒ์„ธํ•œ ์ถœ๋ ฅ ํ‘œ์‹œ
        • -z: ์••์ถ•์„ ์‚ฌ์šฉํ•˜์—ฌ ์ „์†ก ์‹œ๊ฐ„ ๋‹จ์ถ•
        • --process: ์ „์†ก ์ƒํ™ฉ ํ‘œ์‹œ
        • --bwlimit: ํŒŒ์ผ์„ ๋ณต์‚ฌํ•˜๊ฑฐ๋‚˜ ๋™๊ธฐํ™”ํ•  ๋•Œ ๋Œ€์—ญํญ ์ œํ•œ ์„ค์ •
          • ํ•ด๋‹น ์˜ˆ์‹œ์—์„œ๋Š” rsync๊ฐ€ ์‚ฌ์šฉํ•  ์ˆ˜ ์žˆ๋Š” ์ตœ๋Œ€ ๋Œ€์—ญํญ์„ 10,000 KB/s๋กœ ์ œํ•œํ•ฉ๋‹ˆ๋‹ค.
        • /source_dir: ์ „์†กํ•  ์†Œ์Šค ๋””๋ ‰ํ„ฐ๋ฆฌ
        • username@destination:/destination_dir: ์ „์†กํ•  Target VM์˜ IP ์ฃผ์†Œ๋‚˜ ํ˜ธ์ŠคํŠธ ์ด๋ฆ„, ์‚ฌ์šฉ์ž ์ด๋ฆ„ ๋ฐ Target ๋””๋ ‰ํ„ฐ๋ฆฌ ๊ฒฝ๋กœ
  5. rsync๊ฐ€ Target VM์œผ๋กœ ๋ฐ์ดํ„ฐ๋ฅผ ๋ณต์‚ฌํ•˜๋Š” ๋™์•ˆ ์ง„ํ–‰ ์ƒํ™ฉ์„ ๋ชจ๋‹ˆํ„ฐ๋งํ•ด ์ฃผ์‹ญ์‹œ์˜ค.
    • ๋ณต์‚ฌ๊ฐ€ ์™„๋ฃŒ๋˜๋ฉด Target VM์—์„œ ์ƒˆ๋กœ์šด ๋ฐ์ดํ„ฐ๊ฐ€ ๋™๊ธฐํ™”๋œ ๊ฒƒ์„ ํ™•์ธํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.