ÀüÁ¤È£ (mahajjh@myscan.org)
Copyright (c) 2001 Jeon, Jeongho. Permission is granted to copy, distribute and/or modify this document under the terms of the GNU Free Documentation License, Version 1.1 or any later version published by the Free Software Foundation; with no Invariant Sections, no Front-Cover Texts, and no Back-Cover Texts.
³ª´Â ȨÆäÀÌÁö¸¦ ¸¸µé¶§ ´À¸° ³×Æ®¿÷ ¼Óµµ ¶§¹®¿¡ º¸Åë Áý¿¡¼ ÀÛ¾÷À» ÇÑ ÈÄ FTP¸¦ »ç¿ëÇÏ¿© À¥¼¹ö·Î ¿Å±ä´Ù. ²À ´À¸° ³×Æ®¿÷ÀÌ ¾Æ´Ï¶óµµ À©µµ¿ìÁî¿¡¼¸¸ ½ÇÇàµÇ´Â À¥ÀúÀÛÅø ¶§¹®¿¡ À©µµ¿ìÁî¿¡¼ ÀÛ¾÷À» ÇÑ ÈÄ À¥¼¹ö·Î ¿Å±â´Â °æ¿ìµµ ÀÖÀ» °ÍÀÌ´Ù. ȨÆäÀÌÁö°¡ ¾Æ´Ï¶óµµ Cygwin¿¡¼ C ÇÁ·Î±×·¡¹Ö ÀÛ¾÷°ú °°ÀÌ À©µµ¿ìÁî¿Í À¯´Ð½º°£¿¡ ÀÛ¾÷ÇÑ ÆÄÀÏÀ» µ¿±âÈÇÏ´Â °æ¿ì°¡ ¸¹´Ù.
ÀÌ °æ¿ì º¸Åë °°Àº ³×Æ®¿÷ ¾È¿¡ ÀÖ´Â °æ¿ì SMB³ª NFS¸¦, ´Ù¸¥ ³×Æ®¿÷¿¡ ÀÖ´Â °æ¿ì FTP, rcp, scp, (ȨÆäÀÌÁöÀÇ °æ¿ì) WebDav µîÀ» »ç¿ëÇÑ´Ù. ±×·¯³ª SMB³ª NFS´Â º°µµÀÇ ¼ÒÇÁÆ®¿þ¾î¸¦ ¼³Ä¡ÇØ¾ß Çϰí, º¹ÀâÇÑ ¼³Á¤ÀÌ ÇÊ¿äÇÏ´Ù. FTP´Â µ¿±âÈÇÏ·Á´Â ÆÄÀÏÀÌ ¿©·¯°³À϶§ »ç¿ëÇÏ±â ¾î·Æ°í, ¸Å¹ø ÀÛ¾÷ ÆÄÀÏÀÌ ¼öÁ¤µÉ¶§¸¶´Ù µ¿±âÈÇϱⰡ ºÒÆíÇÏ´Ù. rcp´Â µð·ºÅ丮 Àüü¸¦ ¿Å±æ ¼ö ÀÖÁö¸¸, ¾ÏÈ£¿Í ÆÄÀÏ ³»¿ëÀ» ³×Æ®¿÷ »ó¿¡ ±×³É º¸³»´Â À§ÇèÀÌ ÀÖ´Ù. scp´Â Àü¼ÛÀ» ¾ÏÈ£ÈÇÏÁö¸¸, ¼öÁ¤µÈ ÆÄÀϸ¸ Àü¼ÛÇÏ´Â ±â´ÉÀÌ ¾ø´Ù. ¹°·Ð CVS¸¦ ssh¿Í °°ÀÌ »ç¿ëÇÏ´Â ¹æ¹ýÀÌ ÀÖÁö¸¸ ÀÌ ±Û¿¡¼´Â ´Ù¸¥ ¹æ¹ýÀ» ´Ù·é´Ù.
ÀÌ ±Û¿¡¼´Â rsync¸¦ »ç¿ëÇÑ´Ù. rsync´Â ssh·Î Àü¼ÛÀ» ¾ÏÈ£ÈÇϰí, ¼öÁ¤µÈ ÆÄÀÏÀÇ ¼öÁ¤µÈ ºÎºÐ¸¸ ¾ÐÃàÇØ¼ Àü¼ÛÇϹǷΠ³×Æ®¿÷ »ç¿ë·®À» ÁÙÀδÙ. ¶Ç, rcp, scp¿Í »ç¿ë¹ýÀÌ ºñ½ÁÇÏ´Ù.
¸ÕÀú, Ŭ¶óÀ̾ðÆ®(Cygwin)¿Í ¼¹ö(À¥¼¹ö) ¸ðµÎ¿¡ rsync°¡ ¼³Ä¡µÇÀÖ¾î¾ß ÇÑ´Ù. CygwinÀº ±âº»ÀûÀ¸·Î rsync¸¦ ¼³Ä¡ÇϹǷΠ¼¹ö¿¡ rsync ¸í·ÉÀÌ ÀÖ´ÂÁö ½ÇÇàÇÏ¿© È®ÀÎÇØºÁ¶ó.
µÎ¹øÂ°, Ŭ¶óÀÌ¾ðÆ®¿Í ¼¹ö ¸ðµÎ¿¡ ssh°¡ ¼³Ä¡µÇÀÖ°í, ¼¹ö°¡ sshd¸¦ ½ÇÇàÇØ¾ß ÇÑ´Ù. Cygwin°ú ´ëºÎºÐÀÇ ¹ü¿ë ¸®´ª½º ¹èÆ÷º»¿¡ ±âº»ÀûÀ¸·Î ¼³Ä¡µÇÀÖÀ» °ÍÀÌ´Ù. Á¤»óÀûÀ¸·Î ¼³Ä¡µÇ°í ¼³Á¤µÇ¾ú´ÂÁö È®ÀÎÇϱâÀ§ÇØ Cygwin¿¡¼ ´ÙÀ½°ú °°ÀÌ °Ë»çÇÑ´Ù.
$ ssh user_id@my.server.name ls user_id@my.server.name's password: [°èÁ¤¾ÏÈ£] ... ... ... $ ssh user_id@my.server.name rsync user_id@my.server.name's password: [°èÁ¤¾ÏÈ£] rsync version ... ... ... |
¾Æ¸¶ óÀ½À¸·Î ¼¹ö¿¡ ¿¬°áÇÑ´Ù¸é ¼¹ö¸¦ ¹ÏÀ» ¼ö ÀÖ´ÂÁö¸¦ ¹°¾îº¼ °ÍÀÌ´Ù. yes·Î ´ë´äÇÏ¸é µÈ´Ù. °èÁ¤¾ÏÈ£¸¦ ÀÔ·ÂÇÑ ÈÄ ¼¹öÀÇ È¨µð·ºÅ丮 ¸ñ·ÏÀÌ Ãâ·ÂµÇ¸é Á¤»óÀÌ´Ù. µÎ¹øÂ° ¸í·ÉÀº rsync°¡ ¼¹öÀÇ ½ÇÇà°æ·Î ¾È¿¡ ÀÖ´ÂÁö È®ÀÎÇÑ´Ù. µµ¿ò¸»ÀÌ Ãâ·ÂµÇ¸é Á¤»óÀÌ´Ù.
ÆÁ
¼¹ö¿¡ ÀÏ¹Ý »ç¿ëÀÚ·Î rsync¸¦ ¼³Ä¡ÇÒ¶§ ÁÖÀÇÁ¡
¸¸¾à ¼¹ö¿¡ rsync°¡ ¼³Ä¡µÇÀÖÁö ¾Ê¾Æ¼ °ü¸®ÀÚ°¡ ¾Æ´Ñ ÀÏ¹Ý »ç¿ëÀÚ°¡ rsync¸¦ ¼³Ä¡ÇØ¾ß ÇÑ´Ù¸é, rsync°¡ ½© ¼³Á¤ÆÄÀÏÀ» »ç¿ëÇÏÁö ¾ÊÀ¸¹Ç·Î ÇÁ·Î±×·¥ÀÇ °æ·Î¸¦ ssh¿¡°Ô Á÷Á¢ ¾Ë·ÁÁà¾ß ÇÑ´Ù. ¸ÕÀú ´ÙÀ½°ú °°ÀÌ ssh ±âº» ½ÇÇà°æ·Î¸¦ ¾Ë¾Æ³½´Ù.
$ ssh user_id@my.server.name echo '$PATH' user_id@my.server.name's password: /usr/bin:/bin:/usr/sbin:/sbin
¸¸¾à rsync°¡ $HOME/bin¿¡ ÀÖ´Ù¸é, ~/.ssh/environment¿¡ ´ÙÀ½À» ÀÔ·ÂÇÑ´Ù. ¿©±â¼ ȯ°æº¯¼ö($PATH,$HOME) ´ë½Å Àý´ë°æ·Î¸¦ ÀÔ·ÂÇØ¾ß ÇÑ´Ù.
PATH=/usr/bin:/bin:/usr/sbin:/sbin:/home/mahajjh/bin
¿ì¼± ȨÆäÀÌÁö(~/public_html)¸¦ À©µµ¿ìÁî·Î °¡Á®¿Â ÈÄ, ¼öÁ¤ÇÒ¶§¸¶´Ù ¼öÁ¤ÇÑ ³»¿ëÀ» ¼¹ö¿¡ °»½ÅÇÏ¸é µÈ´Ù.
$ rsync -PCzauve ssh user_id@my.server.name:~/public_html . user_id@my.server.name's password: [°èÁ¤¾ÏÈ£] building file list ... done ... ... ... total size is ... $ [ÀÛ¾÷] $ rsync -PCzauve ssh public_html user_id@my.server.name:~/ user_id@my.server.name's password: [°èÁ¤¾ÏÈ£] building file list ... done ... ... ... total size is ... |
ù¹øÂ° ¸í·ÉÀº ¼¹ö¿¡¼ ȨÆäÀÌÁö ÆÄÀϵéÀ» °¡Á®¿Â´Ù. ±×Èķδ ¼¹ö¿¡¼ ÆÄÀÏÀ» ¼öÁ¤ÇÑ °æ¿ì¿¡ ½ÇÇàÇÑ´Ù. À©µµ¿ìÁî¿¡¼¸¸ ÀÛ¾÷À» ÇÑ´Ù¸é ´Ù½Ã ½ÇÇàÇÒ Çʿ䰡 ¾ø´Ù. ¿øÇÏ´Â ÀÛ¾÷À» ÇÑ ÈÄ µÎ¹øÂ° ¸í·ÉÀº ¼öÁ¤µÈ ºÎºÐÀ» ¼¹ö¿¡ °»½ÅÇÑ´Ù. À©µµ¿ìÁî¿¡¼ ÀÛ¾÷À» ÇÑ ÈÄ ÀÌ ¸í·É¾î¸¦ ½ÇÇàÇÏ¸é µÈ´Ù. »ç¿ëÇÑ rsync ¿É¼ÇÀº ´ÙÀ½°ú °°´Ù.
-P | (--partial --progress) À̾î¹Þ±â(iso °°ÀÌ Å« ÆÄÀÏ¿¡ À¯¿ë)¿Í Àü¼Û ÁøÇà»óȲ Ãâ·Â |
-C | (--cvs-exclude) CVS¿¡¼ ¹«½ÃÇÏ´Â ÆÄÀÏÀ» ¹«½Ã. ¿¹, CVS, *~, #*, *.old, *.bak, *.o core µî |
-z | (--compress) Àü¼Û ³»¿ë ¾ÐÃà |
-a | (--archive) µð·ºÅ丮 ±¸Á¶ Àüü¸¦ ÆÄÀÏ ¼Ó¼ºÀ» À¯ÁöÇÑü·Î ¿Å±è |
-u | (--update) ³ªÁß¿¡ ¼öÁ¤µÈ ÆÄÀÏÀº À¯Áö. (Ŭ¶óÀÌ¾ðÆ®¿Í ¼¹öÀÇ ½Ã½ºÅÛ ½Ã°£ Â÷À̰¡ ÀÛ´Ù´Â °¡Á¤ÇÏ¿¡) |
-v | (--verbose) Àü¼Û »óȲ°ú °á°ú Ãâ·Â |
-e | (--rsh) Àü¼Û¹æ¹ý ¼±ÅÃ. µÚ¿¡ ¾Æ±Ô¸ÕÆ®·Î ssh |
-n | (--dry-run) ½ÇÁ¦ ÆÄÀÏÀ» Àü¼ÛÇÏÁö ¾Ê´Â´Ù. ½ÇÁ¦ Àü¼ÛÇϱâ Àü¿¡ Å×½ºÆ®¿ëÀ¸·Î »ç¿ë |
¿É¼Ç µÚ¿¡ º¹»çÇØ¿Ã °÷°ú º¹»çÇÒ °÷ÀÌ ³ª¿Â´Ù. ¿©±â¼ º¹»çÇØ¿Ã °÷¿¡ Çϳª ¼³¸íÇÒ ³»¿ëÀÌ ÀÖ´Ù. À§¿¡¼¿Í °°ÀÌ °æ·Î µÚ¿¡ /°¡ ¾øÀ¸¸é µð·ºÅ丮 ÀÚü¸¦ ¶æÇϰí, /°¡ ÀÖ´Ù¸é µð·ºÅ丮 ¾ÈÀÇ ÆÄÀÏ Àüü¸¦ ¶æÇÑ´Ù. Áï, ...:~/public_html . °ú ...:~/public_html/ public_html ÀÇ °á°ú´Â °°´Ù. ... public_html ...:~/ °ú ... public_html/ ...:~/public_html µµ ¸¶Âù°¡Áö´Ù. È¥µ¿µÈ´Ù¸é -n ¿É¼ÇÀ¸·Î ¸ÕÀú Å×½ºÆ®Çغ¸¸é µÈ´Ù.
ù¹øÂ°·Î alias¸¦ ÁöÁ¤ÇÏ¿© ¿É¼ÇÀ» »ý·«ÇÑ´Ù. ~/.bashrc¿¡,
alias rr='rsync -PCzauve ssh ' alias rt='rsync -PCnauve ssh ' alias rrp='rsync -PCzauve ssh ~/public_html user_id@my.server.name:~/' |
ÀÏ¹Ý Àü¼Û ¸í·É¾î¸¦ rr, ÀÏ¹Ý Å×½ºÆ® ¸í·É¾î¸¦ rt, ȨÆäÀÌÁö Àü¼Û ¸í·É¾î¸¦ rrp·Î ÇØºÃ´Ù.
µÎ¹øÂ°·Î ¾ÏÈ£¸¦ ÀÔ·ÂÇÏÁö ¾Ê´Â ¹æ¹ýÀÌ ÀÖ´Ù. ¸Å¹ø ¾ÏÈ£¸¦ ÀÔ·ÂÇϱ⠱ÍÂúÀº °Íµµ »ç½ÇÀÌÁö¸¸, ¸¸¾à cron ÀÛ¾÷À¸·Î rsync¸¦ »ç¿ëÇÑ´Ù¸é ¹Ýµå½Ã ÇÊ¿äÇÏ´Ù.
...