{"id":9070,"date":"2024-03-25T10:46:48","date_gmt":"2024-03-25T02:46:48","guid":{"rendered":"https:\/\/egonlin.com\/?p=9070"},"modified":"2024-03-25T10:48:15","modified_gmt":"2024-03-25T02:48:15","slug":"rsync%e6%97%a7%e7%89%88%e5%8d%9a%e5%ae%a2%e5%a4%87%e4%bb%bd","status":"publish","type":"post","link":"https:\/\/egonlin.com\/?p=9070","title":{"rendered":"rsync\u65e7\u7248\u535a\u5ba2\u5907\u4efd"},"content":{"rendered":"<h2>\u4e00 \u50a8\u5907\u77e5\u8bc6<\/h2>\n<p>1\u3001\u4ec0\u4e48\u662f\u5907\u4efd<\/p>\n<pre><code>\u5907\u4efd\u5c31\u662f\u628a\u91cd\u8981\u7684\u6570\u636e\u590d\u5236\u4e00\u4efd\u5230\u5176\u4ed6\u4f4d\u7f6e\u4fdd\u7559\u8d77\u6765<\/code><\/pre>\n<p>2\u3001\u4e3a\u4f55\u8981\u5907\u4efd<\/p>\n<pre><code class=\"language-python\">\u56de\u987e\uff1a\u8fd0\u7ef4\u4e09\u5927\u804c\u8d23\n    1\u3001\u5e94\u7528\u7a0b\u5e8f7*24*365\u4e0d\u95f4\u65ad\u8fd0\u884c=\u300b\u56f4\u7ed5\u4e09\u5c42\u3001\u505a\u597d\u76d1\u63a7\n    2\u3001\u5907\u4efd-\u300b\u4e3a\u4e86\u9632\u6b62\u6570\u636e\u4e22\u5931\u65f6\uff0c\u53ef\u4ee5\u901a\u8fc7\u5907\u4efd\u6062\u590d\u56de\u6765\n    3\u3001\u4f18\u5316\u6027\u80fd\uff1a\u63d0\u5347\u7528\u6237\u8bbf\u95ee\u901f\u5ea6<\/code><\/pre>\n<p>3\u3001\u5982\u4f55\u5907\u4efd\u4e4b\u4e09\u79cd\u5907\u4efd\u65b9\u6848\/\u601d\u60f3<\/p>\n<pre><code class=\"language-bash\"># 1\u3001\u5168\u91cf\u5907\u4efd\/\u5b8c\u5168\u5907\u4efd\uff08Full Backup\uff09\n\u6bcf\u6b21\u5907\u4efd\u7684\u7ed3\u679c\u90fd\u662f\u4e00\u6b21\u5b8c\u6574\u7684\u62f7\u8d1d\n\n# 2\u3001\u5dee\u5f02\u5907\u4efd\uff08Differential Backup\uff09\n\u6bcf\u6b21\u5907\u4efd\u65f6\uff0c\u90fd\u662f\u57fa\u4e8e\u7b2c\u4e00\u6b21\u5b8c\u5168\u5907\u4efd\u7684\u5185\u5bb9\uff0c\u53ea\u5907\u4efd\u6709\u5dee\u5f02\u7684\u6570\u636e(\u65b0\u589e\u7684\u3001\u4fee\u6539\u7684\u3001\u5220\u9664\u7684)\uff0c\u4f8b\u5982\n\n\u7b2c\u4e00\u6b21\u5907\u4efd\uff1a\u5b8c\u5168\u5907\u4efd\n\u7b2c\u4e8c\u6b21\u5907\u4efd\uff1a\u4ee5\u5f53\u524d\u65f6\u95f4\u8282\u70b9\u7684\u6570\u636e\u4e3a\u57fa\u7840\uff0c\u5907\u4efd\u4e0e\u7b2c\u4e00\u6b21\u5907\u4efd\u5185\u5bb9\u7684\u5dee\u5f02\n\u7b2c\u4e09\u6b21\u5907\u4efd\uff1a\u4ee5\u5f53\u524d\u65f6\u95f4\u8282\u70b9\u7684\u6570\u636e\u4e3a\u57fa\u7840\uff0c\u5907\u4efd\u4e0e\u7b2c\u4e00\u6b21\u5907\u4efd\u5185\u5bb9\u7684\u5dee\u5f02\n\u7b2c\u56db\u6b21\u5907\u4efd\uff1a\u4ee5\u5f53\u524d\u65f6\u95f4\u8282\u70b9\u7684\u6570\u636e\u4e3a\u57fa\u7840\uff0c\u5907\u4efd\u4e0e\u7b2c\u4e00\u6b21\u5907\u4efd\u5185\u5bb9\u7684\u5dee\u5f02\n\u7b2c\u4e94\u6b21\u5907\u4efd\uff1a\u4ee5\u5f53\u524d\u65f6\u95f4\u8282\u70b9\u7684\u6570\u636e\u4e3a\u57fa\u7840\uff0c\u5907\u4efd\u4e0e\u7b2c\u4e00\u6b21\u5907\u4efd\u5185\u5bb9\u7684\u5dee\u5f02\n\u3002\u3002\u3002\n\n# 3\u3001\u589e\u91cf\u5907\u4efd\uff08Incremental Backup \uff09\n\u6bcf\u6b21\u5907\u4efd\u65f6\uff0c\u90fd\u662f\u57fa\u4e8e\u4e0a\u4e00\u6b21\u5907\u4efd\u7684\u5185\u5bb9\uff08\u6ce8\u610f\u662f\u4e0a\u4e00\u6b21\uff0c\u800c\u4e0d\u662f\u7b2c\u4e00\u6b21\uff09\uff0c\u53ea\u5907\u4efd\u6709\u5dee\u5f02\u7684\u6570\u636e(\u65b0\u589e\u7684\u3001\u4fee\u6539\u7684\u3001\u5220\u9664\u7684)\uff0c\u6240\u4ee5\u589e\u91cf\u5907\u4efd\u7684\u7ed3\u679c\u662f\u4e00\u6761\u94fe\uff0c\u4f8b\u5982\n\n\u7b2c\u4e00\u6b21\u5907\u4efd\uff1a\u5b8c\u5168\u5907\u4efd\n\u7b2c\u4e8c\u6b21\u5907\u4efd\uff1a\u4ee5\u5f53\u524d\u65f6\u95f4\u8282\u70b9\u7684\u6570\u636e\u4e3a\u57fa\u7840\uff0c\u5907\u4efd\u4e0e\u7b2c\u4e00\u6b21\u5907\u4efd\u5185\u5bb9\u7684\u5dee\u5f02\n\u7b2c\u4e09\u6b21\u5907\u4efd\uff1a\u4ee5\u5f53\u524d\u65f6\u95f4\u8282\u70b9\u7684\u6570\u636e\u4e3a\u57fa\u7840\uff0c\u5907\u4efd\u4e0e\u7b2c\u4e8c\u6b21\u5907\u4efd\u5185\u5bb9\u7684\u5dee\u5f02\n\u7b2c\u56db\u6b21\u5907\u4efd\uff1a\u4ee5\u5f53\u524d\u65f6\u95f4\u8282\u70b9\u7684\u6570\u636e\u4e3a\u57fa\u7840\uff0c\u5907\u4efd\u4e0e\u7b2c\u4e09\u6b21\u5907\u4efd\u5185\u5bb9\u7684\u5dee\u5f02\n\u7b2c\u4e94\u6b21\u5907\u4efd\uff1a\u4ee5\u5f53\u524d\u65f6\u95f4\u8282\u70b9\u7684\u6570\u636e\u4e3a\u57fa\u7840\uff0c\u5907\u4efd\u4e0e\u7b2c\u56db\u6b21\u5907\u4efd\u5185\u5bb9\u7684\u5dee\u5f02\n\u3002\u3002\u3002<\/code><\/pre>\n<p><div class='fancybox-wrapper lazyload-container-unload' data-fancybox='post-images' href='https:\/\/egonlin.com\/wp-content\/uploads\/2021\/07\/image-1693463417423.png'><img class=\"lazyload lazyload-style-2\" src=\"data:image\/svg+xml;base64,PCEtLUFyZ29uTG9hZGluZy0tPgo8c3ZnIHdpZHRoPSIxIiBoZWlnaHQ9IjEiIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyIgc3Ryb2tlPSIjZmZmZmZmMDAiPjxnPjwvZz4KPC9zdmc+\"  data-original=\"https:\/\/egonlin.com\/wp-content\/uploads\/2021\/07\/image-1693463417423.png\" src=\"data:image\/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAEAAAABCAYAAAAfFcSJAAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8YQUAAAAJcEhZcwAADsQAAA7EAZUrDhsAAAANSURBVBhXYzh8+PB\/AAffA0nNPuCLAAAAAElFTkSuQmCC\" alt=\"file\" \/><\/div><\/p>\n<p>\u9488\u5bf9\u4e0a\u8ff0\u4e09\u79cd\u5907\u4efd\u65b9\u6848\uff0c\u5982\u4f55\u6062\u590d\u6570\u636e\u5462<\/p>\n<pre><code class=\"language-bash\"># 1\u3001\u5168\u91cf\u5907\u4efd\u7684\u6570\u636e\u6062\u590d\n\n\u53ea\u9700\u627e\u51fa\u6307\u5b9a\u65f6\u95f4\u70b9\u7684\u90a3\u4e00\u4e2a\u5907\u4efd\u6587\u4ef6\u5373\u53ef\uff0c\u5373\u53ea\u9700\u8981\u627e\u5230\u4e00\u4e2a\u6587\u4ef6\u5373\u53ef\n\n# 2\u3001\u5dee\u5f02\u5907\u4efd\u7684\u6570\u636e\u6062\u590d\n\u9700\u8981\u5148\u6062\u590d\u7b2c\u4e00\u6b21\u5907\u4efd\u7684\u7ed3\u679c\uff0c\u7136\u540e\u518d\u6062\u590d\u6700\u8fd1\u4e00\u6b21\u5dee\u5f02\u5907\u4efd\u7684\u7ed3\u679c\uff0c\u5373\u9700\u8981\u627e\u5230\u4e24\u4e2a\u6587\u4ef6\n\n# 3\u3001\u589e\u91cf\u5907\u4efd\u7684\u6570\u636e\u6062\u590d\n\u9700\u8981\u5148\u6062\u590d\u7b2c\u4e00\u6b21\u5907\u4efd\u7684\u7ed3\u679c\uff0c\u7136\u540e\u518d\u4f9d\u6b21\u6062\u590d\u6bcf\u6b21\u589e\u91cf\u5907\u4efd\uff0c\u76f4\u5230\u6062\u590d\u5230\u5f53\u524d\u4f4d\u7f6e\uff0c\u5373\u9700\u8981\u627e\u5230\u4e00\u6761\u5907\u4efd\u94fe<\/code><\/pre>\n<p>\u7efc\u4e0a\uff0c\u5bf9\u6bd4\u4e09\u79cd\u5907\u4efd\u65b9\u6848<\/p>\n<ul>\n<li>1\u3001\u5360\u7528\u7a7a\u95f4\uff1a\u5168\u91cf &gt; \u5dee\u5f02 &gt; \u589e\u91cf<\/li>\n<li>2\u3001\u6062\u590d\u6570\u636e\u8fc7\u7a0b\u7684\u590d\u6742\u7a0b\u5ea6\uff1a\u589e\u91cf  &gt;  \u5dee\u5f02 &gt; \u5168\u91cf<\/li>\n<\/ul>\n<p>4\u3001\u5907\u4efd\u7684\u4f4d\u7f6e<\/p>\n<pre><code class=\"language-bash\">\u672c\u5730\u5907\u4efd\n\n\u5f02\u5730\u5907\u4efd(\u63a8\u8350)<\/code><\/pre>\n<p>5\u3001\u5e38\u7528\u5907\u4efd\u5de5\u5177<\/p>\n<pre><code>1\u3001cp\u547d\u4ee4\uff1a\u53ef\u4ee5\uff0c\u4f46\u56e0\u5176\u53ea\u80fd\u5728\u672c\u5730\u62f7\u8d1d\uff0c\u6240\u4ee5\u4e0d\u4f1a\u7528\u5b83\u6765\u5907\u4efd\uff0c\u800c\u4e14cp\u4f1a\u4ea7\u751f\u5927\u91cf\u6587\u4ef6\u5360\u7528\u5927\u91cfinode\uff0c\u8fd8\u4e0d\u5982\u7528tar\n2\u3001scp\u8fdc\u7a0b\u4f20\u8f93\n3\u3001rsync\u8fdc\u7a0b\u4f20\u8f93<\/code><\/pre>\n<h2>\u4e8c rsync\u4ecb\u7ecd\u4e0e\u5b8c\u6574\u5907\u4efd\u65b9\u6848<\/h2>\n<p><strong>\uff081\uff09rsync\u662f\u4ec0\u4e48<\/strong><\/p>\n<p>rsync \u5168\u79f0remote synchronize\uff0c\u5373&quot;\u8fdc\u7a0b\u540c\u6b65&quot;\uff0c\u662fLiunx\/Unix\u4e0b\u7684\u4e00\u4e2a\u8fdc\u7a0b\u6570\u636e\u540c\u6b65\u5de5\u5177\u3002\u5b83\u53ef\u901a\u8fc7LAN\/WAN\u5feb\u901f\u540c\u6b65\u591a\u53f0\u4e3b\u673a\u95f4\u7684\u6587\u4ef6\u548c\u76ee\u5f55\uff0c\u5e76\u9002\u5f53\u5229\u7528rsync\u7b97\u6cd5\uff08\u5dee\u5206\u7f16\u7801\uff09\u4ee5\u51cf\u5c11\u6570\u636e\u7684\u4f20\u8f93\u3002<\/p>\n<p><strong>\uff082\uff09rsync\u662f\u7528\u6765\u5e72\u4ec0\u4e48\u7684\uff1f<\/strong><\/p>\n<p>\u6211\u4eec\u7528rsync \u662f\u4e3a\u4e86\u5907\u4efd\u7684\uff0c\u8fd9\u79cd\u8bf4\u6cd5\u4e0d\u591f\u51c6\u786e\uff0c\u5bb9\u6613\u8ba9\u4eba\u8bef\u89e3\uff0c\u5176\u5b9ersync\u7684\u5de5\u4f5c\u53ea\u662f\u7528\u6765\u5b8c\u6210\u8fdc\u7a0b\u540c\u6b65\u7684\u3001\u53ea\u662f\u4e3a\u5f02\u5730\u5907\u4efd\u6570\u636e\u505a\u597d\u4e86\u4e00\u4e2a\u94fa\u57ab\uff0c\u4e14\u542c\u6211\u7ec6\u7ec6\u9053\u6765\u3002<\/p>\n<p>\u9996\u5148\uff1a\u672c\u5730\u5907\u4efd\u4e0d\u53ef\u9760\u7684\uff0c\u4e3a\u4ec0\u4e48\u5462\uff1f<\/p>\n<p>\u5982\u679c\u4e00\u4efd\u91cd\u8981\u6570\u636e\u5728\u672c\u5730\u7684\u67d0\u4e2a\u6587\u4ef6\u5939\u91cc\u5b58\u653e\u7740\uff0c\u5e76\u4e14\u8be5\u6587\u4ef6\u5939\u5185\u7684\u6570\u636e\u6bcf\u5929\u90fd\u53ef\u80fd\u4f1a\u53d1\u751f\u53d8\u5316\uff0c\u4e3a\u4e86\u9632\u6b62\u67d0\u4e00\u5929\u6570\u636e\u7a81\u7136\u4e22\u5931\u7684\u60c5\u51b5\u4e0b\u6211\u4eec\u53ef\u4ee5\u627e\u56de\u6570\u636e\uff0c\u6211\u4eec\u9700\u8981\u7ed3\u5408\u8ba1\u5212\u4efb\u52a1\u628a\u6bcf\u5929\u7684\u6570\u636e\u90fd\u5907\u4efd\u4e00\u4e0b\u7136\u540e\u5b58\u5728\u672c\u673a\uff0c\u6b64\u65f6\uff0c\u5907\u4efd\u662f\u6709\u4e86\uff0c\u4f46\u8fd9\u5c31\u4e07\u65e0\u4e00\u5931\u4e86\u5417\uff1f\u9519\uff01\u5982\u679c\u672c\u673a\u6302\u6389\u4e86\uff0c\u4f60\u5907\u4efd\u7684\u6570\u636e\u90fd\u4e0d\u53ef\u7528\uff0c\u6240\u4ee5\u5907\u4efd\u7684\u6570\u636e\u4e00\u5b9a\u9700\u8981\u4f20\u9001\u5230\u8fdc\u7aef\uff0c\u90a3\u4e48\u4f60\u7684\u601d\u8def\u53ef\u80fd\u662f\u8fd9\u6837\u7684<\/p>\n<pre><code class=\"language-bash\">\u7ed3\u5408\u8ba1\u5212\u4efb\u52a1\n\n1\u3001\u6bcf\u5929\u5907\u4efd\u4e00\u4e0b\u6570\u636e\uff0c\u6b64\u65f6\u5907\u4efd\u7684\u6570\u636e\u662f\u5728\u672c\u5730\u5b58\u653e\u7740\n\n2\u3001\u7136\u540e\u5c06\u5907\u4efd\u7684\u6570\u636e\u53d1\u9001\u5230\u8fdc\u7aef\n\n3\u3001\u9694\u4e00\u6bb5\u65f6\u95f4\u5c31\u5220\u9664\u4e03\u5929\u524d\u7684\u672c\u5730\u5907\u4efd\u6570\u636e\uff0c\u53ea\u7559\u4e0b\u4e03\u5929\u5185\u7684\uff0c\u8282\u7701\u672c\u5730\u7a7a\u95f4<\/code><\/pre>\n<p>\u4e0a\u8ff0\u601d\u8def\u65e2\u6d6a\u8d39\u7a7a\u95f4\uff0c\u4f20\u8f93\u6548\u7387\u53c8\u4f4e\uff0c\u800c\u4e14\u5982\u679c\u672c\u673a\u7684\u8ba1\u5212\u4efb\u52a1\u5c1a\u672a\u89e6\u53d1\u672c\u673a\u5c31\u6302\u4e86\uff0c\u5f02\u5730\u5c06\u83b7\u53d6\u4e0d\u5230\u5907\u4efd\u6570\u636e<\/p>\n<p>\u6211\u4eec\u53ef\u4ee5\u8fd9\u4e48\u505a<\/p>\n<pre><code class=\"language-bash\"># \u4e00 \u5236\u5f02\u5730\u955c\u50cf\n\u8ba1\u5212\u4efb\u52a1+rsync\u5c06\u672c\u5730\u6570\u636e\u5b9a\u671f\u540c\u6b65\u5230\u5f02\u5730-&gt;\u65e0\u6cd5\u505a\u5230\u5b9e\u65f6\u540c\u6b65\nrsync+inotify\u6216sersync\u5c06\u672c\u5730\u6570\u636e\u5b9e\u65f6\u540c\u6b65\u5230\u5f02\u5730-&gt;\u53ef\u4ee5\u505a\u5230\u5b9e\u65f6\u540c\u6b65\uff0c\u5f02\u5730\u5c31\u662f\u672c\u5730\u7684\u4e00\u4e2a\u955c\u50cf\u70b9\n\n# \u4e8c \u7ed3\u5408\u8ba1\u5212\u4efb\u52a1\u5bf9\u5f02\u5730\u955c\u50cf\u70b9\u7684\u76ee\u5f55\u505a\u589e\u91cf\u5907\u4efd<\/code><\/pre>\n<p>\u4f53\u4f1a\u4e0b\u4e0a\u8ff0\u65b9\u6848<\/p>\n<pre><code class=\"language-bash\">1\u3001\u672c\u673a\u65e0\u9700\u518d\u505a\u5907\u4efd\uff0c\u6211\u4eec\u53ea\u9700\u8981\u5bf9\u8fdc\u7a0b\u7684\u955c\u50cf\u7ad9\u70b9\u5236\u4f5c\u5907\u4efd\u5373\u53ef\uff0c\u56e0\u4e3a\u8fdc\u7a0b\u7684\u955c\u50cf\u70b9\u4e0e\u672c\u673a\u5b8c\u5168\u4e00\u81f4\/\u540c\u6b65\n\u8fd9\u6837\u5c31\u8282\u7701\u4e86\u672c\u673a\u7684\u7a7a\u95f4\uff0c\u5e76\u4e14\u51cf\u5c11\u4e86\u672c\u673a\u7684\u5de5\u4f5c\u91cf\n\n2\u3001\u5982\u679c\u672c\u673a\u7a81\u7136\u6302\u6389\uff0c\u4e0d\u5fc5\u62c5\u5fc3\u4e22\u5931\u6700\u8fd1\u7684\u6570\u636e\uff0c\u56e0\u4e3a\u8fdc\u7a0b\u7684\u955c\u50cf\u70b9\u4e0e\u672c\u673a\u7684\u6570\u636e\u662f\u540c\u6b65\u7684\uff0c\u672c\u673a\u6302\u4e86\uff0c\u8fdc\u7a0b\u7684\u955c\u50cf\u70b9\u4ecd\u7136\u53ef\u4ee5\u4fdd\u7559\u4e0b\u6700\u8fd1\u7684\u6570\u636e\uff0c\u4ea6\u53ef\u5bf9\u5176\u8fdb\u884c\u4e00\u6b21\u5907\u4efd\u3002\n\n3\u3001\u5982\u679c\u672c\u673a\u6302\u6389\u4e86\uff0c\u4e0d\u5fc5\u62c5\u5fc3\u6570\u636e\u65e0\u6cd5\u6062\u590d\uff0c\u56e0\u4e3a\u5907\u4efd\u7684\u6570\u636e\u4e5f\u90fd\u5728\u8fdc\u7a0b\u5b58\u653e\u7740\u5462\u3002<\/code><\/pre>\n<p><strong>\uff083\uff09rsync\u7684\u539f\u7406\u4e0e\u7279\u70b9<\/strong><\/p>\n<p>rsync\u7684\u8fdc\u7a0b\u4f20\u6570\u636e\u53ef\u4ee5\u7b80\u5355\u603b\u7ed3\u4e3a\u4e09\u6b65<\/p>\n<pre><code class=\"language-bash\">1\u3001\u5148\u9a8c\u8bc1\u7528\u6237\u8eab\u4efd\n2\u3001\u68c0\u6d4b\u51fa\u5230\u5e95\u9700\u8981\u4f20\u54ea\u4e9b\u6587\u4ef6\uff0c\u9ed8\u8ba4quick check\u7b97\u6cd5\uff08\u4f9d\u636e\u6e90\u8def\u5f84\u4e0e\u76ee\u6807\u8def\u5f84\u4e0b\u5bf9\u5e94\u6587\u4ef6\u7684\u5927\u5c0f\u6216\u4fee\u6539\u65f6\u95f4\u662f\u5426\u6709\u53d8\u52a8\uff09\uff0c\u68c0\u6d4b\u51fa\u9700\u8981\u4f20\u8f93\u7684\u6587\u4ef6\u540e\uff0c\u5e76\u975e\u662f\u5c06\u6587\u4ef6\u5168\u90e8\u4f20\u5230\u8fdc\u7aef\uff0c\u800c\u662f\u53ea\u4f20\u6587\u4ef6\u6539\u52a8\u7684\u90e8\u5206\uff0c\u4fd7\u79f0\u589e\u91cf\uff0c\u7136\u540e\u4f20\u5230\u8fdc\u7aef\u540e\uff0c\u8fdc\u7aef\u518d\u4f9d\u636e\u4e4b\u524d\u7684\u5185\u5bb9\u4e0e\u4f20\u8fc7\u6765\u7684\u65b0\u5185\u5bb9\u6309\u7167\u7b97\u6cd5\u62fc\u6210\u4e00\u4e2a\u65b0\u6587\u4ef6\uff0c\u6240\u4ee5\u8bf4rsync\u5e76\u4e0d\u8017\u8d39IO\uff0c\u4f46\u662f\u8017cpu\n3\u3001\u4f20\u8f93<\/code><\/pre>\n<p>rsync\u7684\u7279\u70b9<\/p>\n<ul>\n<li>\n<p>1\u3001IO\u6548\u7387\u9ad8\uff0c\u4f46\u8017\u8d39cpu\u8d44\u6e90<\/p>\n<pre><code class=\"language-bash\">\u4e0e\u5176\u4ed6\u8fdc\u7a0b\u6587\u4ef6\u4f20\u8f93\u5de5\u5177\uff08\u5982 FTP \u6216 scp\uff09\u4e0d\u540c\u7684\u662f\uff0crsync \u7684\u6700\u5927\u7279\u70b9\u662f\u4f1a\u68c0\u67e5\u53d1\u9001\u65b9\u548c\u63a5\u6536\u65b9\u5bf9\u5e94\u7684\u3001\u5df2\u6709\u7684\u6587\u4ef6\uff0c\u7136\u540e\u4ec5\u4f20\u8f93\u6709\u53d8\u52a8\u7684\u90e8\u5206\u3002\n\u56e0\u6b64\uff0c\u5728\u7b2c\u4e00\u6b21rsync\u8fdc\u7a0b\u540c\u6b65\u65f6\uff0c\u8fdc\u7aef\u65e0\u4efb\u4f55\u5185\u5bb9\uff0c\u6240\u4ee5\u540c\u6b65\u7684\u662f\u5168\u91cf\uff0c\u4ee5\u540e\u6bcf\u6b21\u90fd\u53ea\u662f\u4f20\u5185\u5bb9\u6709\u6539\u53d8\u7684\u90e8\u5206\uff0c\u800c\u4e0d\u662f\u5168\u90e8\u4f20\uff0c\u8fd9\u53ef\u4ee5\u6781\u5927\u5730\u8282\u7701\u5e26\u5bbd\u4e0e\u4f20\u8f93\u65f6\u95f4\uff0c\u56e0\u6b64rysnc\u7684IO\u6548\u7387\u6bd4\u8f83\u9ad8\uff0c\u8fd9\u5728\u505a\u955c\u50cf\u65b9\u9762\u662f\u5f88\u4e0d\u9519\u7684\u3002\n\n\u4f46\u662f\u4f20\u5230\u8fdc\u7aef\u540e\uff0c\u8fdc\u7aef\u518d\u4f9d\u636e\u4e4b\u524d\u7684\u5185\u5bb9\u4e0e\u4f20\u8fc7\u6765\u7684\u65b0\u5185\u5bb9\u6309\u7167\u7b97\u6cd5\u62fc\u6210\u4e00\u4e2a\u65b0\u6587\u4ef6\uff0c\u8fd9\u662f\u975e\u5e38\u8017\u8d39cpu\u8ba1\u7b97\u8d44\u6e90\u7684<\/code><\/pre>\n<p>\u7efc\u4e0arsync\u4e0d\u9002\u7528\u4e8e\u7684\u573a\u666f\u5982\u4e0b<\/p>\n<pre><code class=\"language-bash\"># 1\u3001\u6e90\u8def\u5f84\u4e0b\u7684\u5185\u5bb9\u90fd\u4e0d\u80fd\u7b97\u662f\u7ecf\u5e38\u6539\u52a8\u7684\uff0c\u800c\u662f\u9891\u7e41\u6539\u52a8\u7684\u573a\u666f\uff0crsync\u4e0d\u9002\u5408\uff0c\u6bd4\u5982\u6570\u636e\u5e93\u6587\u4ef6\n\u5982\u679c\u6e90\u8def\u5f84\u9891\u7e41\u6539\u52a8\uff0crsync\u5c06\u65f6\u523b\u5904\u4e8e\u9ad8\u9891\u8ba1\u7b97\u4e2d\uff0c\u56e0\u4e3arsync\u7684\u5e95\u5c42\u7b97\u6cd5\u8981\u8ba1\u7b97\u51fa\u6539\u52a8\u7684\u4f4d\u7f6e\u7136\u540e\u628a\u6587\u4ef6\u5206\u6bb5\u540e\u518d\u8fdb\u884c\u91cd\u65b0\u62fc\u63a5\uff0cio\u6ca1\u5565\u95ee\u9898\uff0ccpu\u90fd\u5f97\u7d2f\u6b7b\n\n# 2\u3001\u4e0d\u9002\u5408\u540c\u6b65\u5927\u6587\u4ef6\n\u56e0\u4e3a\u4e00\u4e2a10T\u7684\u6587\u4ef6\u4f46\u51e1\u4fee\u6539\u4e00\u4e2a\u5b57\u7b26\uff0c\u8fdc\u7a0b\u540c\u6b65\u65f6\u53ea\u4f1a\u4f20\u4e00\u4e2a\u5b57\u7b26\uff0c\u8fd9\u5e76\u4e0d\u5f71\u54cdio\uff0c\u4f46\u662f\u8be5\u5b57\u7b26\u5230\u8fbe\u8fdc\u7aef\u540e\uff0c\u8fdc\u7aef\u4e3b\u673a\u7684rsync\u5374\u9700\u8981\u628a\u4e4b\u524d\u6587\u4ef6\u7684\u5185\u5bb9\u4e0e\u8be5\u5b57\u7b26\u62fc\u6210\u4e00\u4e2a\u65b0\u6587\u4ef6\uff0c\u5982\u679c\u6587\u4ef6\u8fc7\u5927\uff0c\u80cc\u540e\u7684\u7b97\u6cd5\u662f\u975e\u5e38\u6d88\u8017cpu\u8d44\u6e90\u7684\uff0c\u800c\u4e14\u8ddf\u91cd\u5199\u4e86\u4e00\u4e2a\u6587\u4ef6\u4e5f\u6ca1\u591a\u5927\u533a\u522b<\/code><\/pre>\n<\/li>\n<li>\n<p>2\u3001rsync\u53ef\u4ee5\u5b9e\u73b0\u7c7b\u4f3cscp\u7684\u672c\u5730\u8def\u5f84\u4e0e\u8fdc\u7a0b\u8def\u5f84\u4e4b\u95f4\u7684\u62f7\u8d1d(rsync\u4e0d\u652f\u6301\u8fdc\u7a0b\u5230\u8fdc\u7a0b\u7684\u62f7\u8d1d\uff0c\u5373\u6e90\u8def\u5f84\u4e0e\u76ee\u6807\u8def\u5f84\u90fd\u662f\u8fdc\u7a0b\u8def\u5f84\uff0c\u4f46scp\u652f\u6301\u8fd9\u4e00\u70b9)<\/p>\n<pre><code class=\"language-bash\">scp\u6211\u4eec\u7ecf\u5e38\u90fd\u662f\u8fdc\u7aef\u5230\u672c\u5730\uff0c\u672c\u5730\u5230\u8fdc\u7aef\uff0c\n\u8fdc\u7aef\u5230\u8fdc\u7aef\u5176\u5b9escp\u4e5f\u662f\u53ef\u4ee5\u7684\uff0c\u53ea\u4e0d\u8fc7\u770b\u4e0d\u5230\u8fdb\u5ea6\n\nscp -pr3 root@192.168.12.17:\/root\/1.txt root@192.168.12.39:\/aaa \n\n-p\u4fdd\u7559\u6743\u9650\n-r\u9012\u5f52\n-3\u5c31\u662f\u8fdc\u7aef\u5230\u8fdc\u7aef\u4e86\n\n# \u4f9d\u6b21\u8f93\u5165\u6e90\u4e3b\u673a\u7684\u5bc6\u7801+\u56de\u8f66\uff0c\u7136\u540e\u518d\u8f93\u5165\u76ee\u6807\u4e3b\u673a\u7684\u5bc6\u7801+\u56de\u8f66\u5373\u53ef<\/code><\/pre>\n<\/li>\n<li>\n<p>2\u3001rsync\u867d\u7136\u662f\u8fdc\u7a0b\u540c\u6b65\uff0c\u4f46\u4e5f\u652f\u6301\u4e24\u4e2a\u672c\u5730\u76ee\u5f55\u4e4b\u95f4\u540c\u6b65\u6587\u4ef6\uff0c\u56e0\u6b64\u5b83\u4e5f\u53ef\u4ee5\u5f53\u4f5c\u6587\u4ef6\u590d\u5236\u5de5\u5177\uff0c\u6240\u4ee5\u8bf4rsync\u76f8\u5f53\u4e8e\u662f\u96c6\u6210\u4e86cp\u548cscp\u7684\u529f\u80fd\uff0c\u4f46\u662f\u4ed6\u4eec\u7684\u5e95\u5c42\u673a\u5236\u4e0d\u4e00\u6837<\/p>\n<\/li>\n<li>\n<p>4\u3001rsync\u7684\u8fdc\u7a0b\u540c\u6b65\u662f\u8de8\u5e73\u53f0\u7684<\/p>\n<\/li>\n<\/ul>\n<pre><code>linux --&gt; windows   \nwindows --&gt; linux   \nlinux --&gt; mac  \nmac --&gt; linux  \nmac --&gt; windows<\/code><\/pre>\n<h2>\u4e09 \u5b89\u88c5<\/h2>\n<p>\u6ce8\u610f\uff0c\u4f20\u8f93\u7684\u53cc\u65b9\u90fd\u5fc5\u987b\u5b89\u88c5 rsync<\/p>\n<pre><code>yum install rsync -y<\/code><\/pre>\n<h2>\u56db rsync\u7684\u4f20\u8f93\u65b9\u5f0f\u4e0e\u5de5\u4f5c\u6a21\u5f0f<\/h2>\n<h3>4.1 \u4e24\u79cd\u4f20\u8f93\u65b9\u5f0f<\/h3>\n<pre><code>1.pull \u62c9-&gt; \u4e0b\u8f7d\n\u5ba2\u6237\u7aef\u5c06\u670d\u52a1\u5668\u4e0a\u7684\u6570\u636e\u4e0b\u8f7d\u5230\u672c\u5730\u670d\u52a1\u5668\n\u95ee\u9898\uff1a\u5982\u679c\u5ba2\u6237\u7aef\u8fc7\u591a\uff0c\u4f1a\u5bf9\u670d\u52a1\u7aef\u9020\u6210\u538b\u529b\u8fc7\u5927\n\n2.push \u63a8-&gt; \u4e0a\u4f20\n\u5ba2\u6237\u7aef\u5c06\u672c\u5730\u6570\u636e\u4e0a\u4f20\u5230\u670d\u52a1\u5668\n\u95ee\u9898\uff1a\u5982\u679c\u5ba2\u6237\u7aef\u8fc7\u591a\uff0c\u4e0a\u4f20\u901f\u5ea6\u4f1a\u53d7\u5230\u5e26\u5bbd\u5f71\u54cd\uff0c\u5f88\u6162<\/code><\/pre>\n<h3>4.2 \u4e24\u79cd\u5de5\u4f5c\u6a21\u5f0f<\/h3>\n<h4>4.2.1 \u672c\u5730\u6a21\u5f0f<\/h4>\n<pre><code class=\"language-bash\">1\u3001\u8bed\u6cd5\uff1a\n\u547d\u4ee4   \u9009\u9879        \u6e90\u6570\u636e       \u76ee\u6807\u5730\u5740\nrsync [OPTION]... SRC [SRC]... DEST\n\n2\u3001\u5e38\u7528\u9009\u9879\uff1arsync\u652f\u6301\u4e00\u767e\u591a\u4e2a\u9009\u9879\uff0c\u6240\u4ee5\u6b64\u5904\u53ea\u4ecb\u7ecd\u51e0\u4e2a\u5e38\u7528\u9009\u9879\n-a --archive  \uff1a\u5f52\u6863\u6a21\u5f0f\uff0c\u8868\u793a\u9012\u5f52\u4f20\u8f93\u5e76\u4fdd\u6301\u6587\u4ef6\u5c5e\u6027\u3002\u7b49\u540c\u4e8e&quot;-rtopgDl&quot;\u3002\n-v            \uff1a\u663e\u793arsync\u8fc7\u7a0b\u4e2d\u8be6\u7ec6\u4fe1\u606f\u3002\u53ef\u4ee5\u4f7f\u7528&quot;-vvvv&quot;\u83b7\u53d6\u66f4\u8be6\u7ec6\u4fe1\u606f\u3002\n-z            \uff1a\u4f20\u8f93\u65f6\u8fdb\u884c\u538b\u7f29\u63d0\u9ad8\u6548\u7387\u3002\n-R            \uff1a\u4f7f\u7528\u76f8\u5bf9\u8def\u5f84\n\n3\u3001\u7c7b\u4f3c\u4e8ecp\u547d\u4ee4\uff0c\u53c8\u4e0d\u540c\u4e8ecp\n\uff081\uff09\u3001cp\u547d\u4ee4\u53ea\u662f\u672c\u5730\u590d\u5236\uff0c\u6bcf\u6b21cp\u90fd\u4f1a\u7528\u6e90\u6587\u4ef6\u5185\u5bb9\u8986\u76d6\u65b0\u6587\u4ef6,\u6240\u4ee5cp\u547d\u4ee4\u4f1a\u4fee\u6539\u6587\u4ef6\u65f6\u95f4\u5c5e\u6027\uff0c\n\n\uff082\uff09\u3001rsync\u53ef\u672c\u5730\u53ef\u8fdc\u7a0b\uff0c\u9996\u6b21rsync\u4e0ecp\u4e00\u6837\uff0c\u540e\u7eedrsync\u4f1a\u5bf9\u6bd4\u4e24\u4e2a\u6587\u4ef6\u7684\u4e0d\u540c\uff0c\u53ea\u4f20\u8f93\u6587\u4ef6\u66f4\u65b0\u7684\u90e8\u5206,\u5982\u679c\u672a\u66f4\u65b0\uff0c\u5219rsync\u4e0d\u4f1a\u4fee\u6539\u6587\u4ef6\u4efb\u4f55\u5c5e\u6027\n\n4\u3001\u6ce8\u610f\uff1a\u6e90\u8def\u5f84\u5982\u679c\u662f\u4e00\u4e2a\u76ee\u5f55\u7684\u8bdd\uff0c\u5e26\u4e0a\u5c3e\u968f\u659c\u7ebf\u548c\u4e0d\u5e26\u5c3e\u968f\u659c\u7ebf\u662f\u4e0d\u4e00\u6837\u7684\uff0c\u4e0d\u5e26\u5c3e\u968f\u659c\u7ebf\u8868\u793a\u7684\u662f\u6574\u4e2a\u76ee\u5f55\u5305\u62ec\u76ee\u5f55\u672c\u8eab\uff0c\u5e26\u4e0a\u5c3e\u968f\u659c\u7ebf\u8868\u793a\u7684\u662f\u76ee\u5f55\u4e2d\u7684\u6587\u4ef6\uff0c\u4e0d\u5305\u62ec\u76ee\u5f55\u672c\u8eab\uff0c\u8fd9\u4e00\u70b9\u672c\u5730\u6a21\u5f0f\u4e0e\u8fdc\u7a0b\u6a21\u5f0f\u5747\u9002\u7528<\/code><\/pre>\n<p>\u793a\u4f8b1: \u62f7\u8d1d\u6587\u4ef6<\/p>\n<pre><code class=\"language-bash\">[root@local ~]# rsync \/etc\/passwd \/test<\/code><\/pre>\n<p>\u793a\u4f8b2\uff1a\u62f7\u8d1d\u6587\u4ef6\u5939\uff0c-r\uff0c\u9a8c\u8bc1\u6e90\u8def\u5f84\u5e26\/\u540e\u7f00\u4e0e\u4e0d\u5e26\u540e\u7f00\u7684\u4e24\u79cd\u60c5\u51b5<\/p>\n<pre><code class=\"language-bash\">[root@local ~]# rsync -r \/etc\/cron.d \/test  # \u628a\u6587\u4ef6\u5939cron.d\u62f7\u8d1d\u5230\/test\u4e0b\n[root@local ~]# rsync -r \/etc\/cron.d\/ \/test  # \u628a\u6587\u4ef6\u5939cron.d\u4e0b\u7684\u5185\u5bb9\u62f7\u8d1d\u5230\/test\u4e0b<\/code><\/pre>\n<p>\u5b9e\u4f8b3\uff1a\u62f7\u8d1d\u6587\u4ef6\u5939\uff0c-R\uff0c\u4f7f\u7528\u76f8\u5bf9\u76ee\u5f55<\/p>\n<pre><code class=\"language-bash\">[root@local ~]# mkdir -p \/src\/aaa\/bbb\/ccc\n[root@local ~]# mkdir \/dst\n[root@local ~]# \n[root@local ~]# rsync -r \/src\/aaa\/bbb\/ccc \/dst\/\n[root@local ~]# ls \/dst\/\nccc\n[root@local ~]# \n[root@local ~]# rm -rf \/dst\/*\n[root@local ~]# rsync -r -R \/src\/aaa\/bbb\/ccc \/dst\/\n[root@local ~]# ls \/dst\/\nsrc\n[root@local ~]# rm -rf \/dst\/*\n[root@local ~]# rsync -r -R \/src\/.\/aaa\/bbb\/ccc \/dst\/\n[root@local ~]# ls \/dst\/\naaa\n[root@local ~]# rm -rf \/dst\/*\n[root@local ~]# rsync -r -R \/src\/aaa\/.\/bbb\/ccc \/dst\/\n[root@local ~]# ls \/dst\/\nbbb\n[root@local ~]# <\/code><\/pre>\n<p>\u5b9e\u4f8b3\uff1a&#8211;backup\u9009\u9879\uff0c\u5bf9\u76ee\u6807\u76ee\u5f55\u4e0b\u5df2\u7ecf\u5b58\u5728\u7684\u6587\u4ef6\u505a\u4e00\u4e2a\u5907\u4efd<\/p>\n<pre><code class=\"language-bash\">[root@remote ~]# mkdir \/egon111\n[root@remote ~]# mkdir \/egon222\n[root@remote ~]# \n[root@remote ~]# echo 111 &gt; \/egon111\/1.txt\n[root@remote ~]# echo 222 &gt; \/egon111\/2.txt\n[root@remote ~]# echo 333 &gt; \/egon111\/3.txt\n[root@remote ~]# \n[root@remote ~]# echo 666 &gt; \/egon222\/1.txt\n[root@remote ~]# echo 888 &gt; \/egon222\/2.txt\n[root@remote ~]# \n[root@remote ~]# rsync -r --backup \/egon111\/ \/egon222\/\n[root@remote ~]# ll \/egon222\/\n\u603b\u7528\u91cf 20\n-rw-r--r--. 1 root root 4 4\u6708  16 13:12 1.txt\n-rw-r--r--. 1 root root 4 4\u6708  16 13:11 1.txt~\n-rw-r--r--. 1 root root 4 4\u6708  16 13:12 2.txt\n-rw-r--r--. 1 root root 4 4\u6708  16 13:11 2.txt~\n-rw-r--r--. 1 root root 4 4\u6708  16 13:12 3.txt\n[root@remote ~]# \n\n[root@remote ~]# mkdir \/egon222\/bak\n[root@remote ~]# rsync -r --backup --backup-dir=\/egon222\/bak \/egon111\/ \/egon222\/\n[root@remote ~]# ls \/egon222\/bak\/\n1.txt  2.txt\n[root@remote ~]# tree \/egon222\/\n\/egon222\/\n\u251c\u2500\u2500 1.txt\n\u251c\u2500\u2500 2.txt\n\u251c\u2500\u2500 3.txt\n\u2514\u2500\u2500 bak\n    \u251c\u2500\u2500 1.txt\n    \u2514\u2500\u2500 2.txt<\/code><\/pre>\n<p>\u8fd9\u6837\u5728\u76ee\u6807\u76ee\u5f55\u4e0b\uff0c\u5df2\u5b58\u5728\u7684\u6587\u4ef6\u5c31\u88ab\u505a\u4e00\u4e2a\u5907\u4efd\uff0c\u5907\u4efd\u6587\u4ef6\u9ed8\u8ba4\u4f7f\u7528&quot;~&quot;\u505a\u540e\u7f00\uff0c\u53ef\u4ee5\u4f7f\u7528&quot;&#8211;suffix&quot;\u6307\u5b9a\u5907\u4efd\u540e\u7f00,\u4f8b\u5982<\/p>\n<pre><code class=\"language-bash\">[root@remote ~]# rsync -r --backup --suffix=&quot;.bak&quot; \/egon111\/ \/egon222\/<\/code><\/pre>\n<p>\u53ef\u4ee5\u4f7f\u7528&quot;&#8211;backup-dir&quot;\u6307\u5b9a\u5907\u4efd\u6587\u4ef6\u4fdd\u5b58\u8def\u5f84\uff0c\u4f46\u8981\u6c42\u4fdd\u5b58\u8def\u5f84\u5fc5\u987b\u5b58\u5728\uff0c\u6307\u5b9a\u5907\u4efd\u8def\u5f84\u540e\uff0c\u9ed8\u8ba4\u5c06\u4e0d\u4f1a\u52a0\u5907\u4efd\u540e\u7f00\uff0c\u9664\u975e\u4f7f\u7528&quot;&#8211;suffix&quot;\u663e\u5f0f\u6307\u5b9a\u540e\u7f00\uff0c\u5982&quot;&#8211;suffix=~&quot;\u3002<\/p>\n<pre><code class=\"language-bash\">[root@remote ~]# mkdir \/egon222\/bak\n[root@remote ~]# rsync -r --backup --backup-dir=\/egon222\/bak \/egon111\/ \/egon222\/\n[root@remote ~]# ls \/egon222\/bak\/\n1.txt  2.txt\n[root@remote ~]# tree \/egon222\/\n\/egon222\/\n\u251c\u2500\u2500 1.txt\n\u251c\u2500\u2500 2.txt\n\u251c\u2500\u2500 3.txt\n\u2514\u2500\u2500 bak\n    \u251c\u2500\u2500 1.txt\n    \u2514\u2500\u2500 2.txt<\/code><\/pre>\n<p>\u793a\u4f8b4:<\/p>\n<pre><code>=======> \u51c6\u5907\u6587\u4ef6\n[root@www ~]# echo 666 > egon.txt\n[root@www ~]# stat egon.txt \n......\n\u6700\u8fd1\u6539\u52a8\uff1a2021-04-08 20:00:10...\n\n=======> cp\u6bcf\u6b21\u62f7\u8d1d\u90fd\u662f\u7528\u65b0\u7684\u8986\u76d6\u65e7\u7684\uff0c\u5373\u6bcf\u6b21\u90fd\u662f\u5168\u91cf\n[root@www ~]# # \u9996\u6b21\u62f7\u8d1d->\u5168\u91cf\n[root@www ~]# cp -a egon.txt egon111.txt  \n[root@www ~]# stat egon111.txt \n......\n\u6700\u8fd1\u6539\u52a8\uff1a2021-04-08 20:00:20... ---> \u6539\u53d8\n[root@www ~]#\n[root@www ~]#\n[root@www ~]#\n[root@www ~]# # \u7b2c\u4e8c\u6b21\u62f7\u8d1d->\u4ecd\u662f\u5168\u91cf\n[root@www ~]# \\cp -a egon.txt egon111.txt  # \u52a0\\\u5f00\u5934\u53d6\u6d88\u9ed8\u8ba4\u63d0\u793a \n[root@www ~]# stat egon111.txt \n......\n\u6700\u8fd1\u6539\u52a8\uff1a2021-04-08 20:00:30... ---> \u6539\u53d8\n\n=======> rsync\u9996\u6b21\u62f7\u8d1d\u4e3a\u5168\u91cf\uff0c\u540e\u7eed\u62f7\u8d1d\u5982\u679c\u53c2\u7167\u7684\u6e90\u5185\u5bb9\u4e0d\u53d8\uff0c\u5219\u4e0d\u8986\u76d6\u76ee\u6807\u6587\u4ef6\n[root@www ~]# # \u9996\u6b21\u62f7\u8d1d->\u5168\u91cf\n[root@www ~]# rsync -az egon.txt egon222.txt \n[root@www ~]# stat egon222.txt \n......\n\u6700\u8fd1\u6539\u52a8\uff1a2021-04-08 20:00:40... ---> \u6539\u53d8\n[root@www ~]#\n[root@www ~]#\n[root@www ~]#\n[root@www ~]# # \u7b2c\u4e8c\u6b21\u62f7\u8d1d->\u68c0\u6d4b\u5230\u6e90\u6587\u4ef6\u6ca1\u6709\u53d1\u751f\u53d8\u52a8\uff0c\u5219\u4e0d\u4f1a\u8986\u76d6\u76ee\u6807\u6587\u4ef6\n[root@www ~]# rsync -az egon.txt egon222.txt  \n[root@www ~]# stat egon222.txt \n......\n\u6700\u8fd1\u6539\u52a8\uff1a2021-04-08 20:00:40... ---> \u4e0d\u53d8\n[root@www ~]#\n[root@www ~]#\n[root@www ~]#\n[root@www ~]# # \u7b2c\u4e09\u6b21\u62f7\u8d1d->\u68c0\u6d4b\u5230\u6e90\u6587\u4ef6\u6ca1\u6709\u53d1\u751f\u53d8\u52a8\uff0c\u5219\u4e0d\u4f1a\u8986\u76d6\u76ee\u6807\u6587\u4ef6\n[root@www ~]# rsync -az egon.txt egon222.txt  \n[root@www ~]# stat egon222.txt \n......\n\u6700\u8fd1\u6539\u52a8\uff1a2021-04-08 20:00:40... ---> \u4e0d\u53d8<\/code><\/pre>\n<p>\u5176\u4ed6\u9009\u9879<\/p>\n<pre><code class=\"language-bash\"># 0\u3001\u9009\u9879-c\u3001--checksum\u6539\u53d8rsync\u7684\u68c0\u67e5\u65b9\u5f0f\n\u9ed8\u8ba4\u60c5\u51b5\u4e0b\uff0crsync\u57fa\u4e8e&quot;quick check&quot;\u7b97\u6cd5\u53ea\u68c0\u67e5\u6587\u4ef6\u7684\u5927\u5c0f\u548c\u6700\u540e\u4fee\u6539\u65e5\u671f\u662f\u5426\u53d1\u751f\u53d8\u5316\uff0c\u5982\u679c\u53d1\u751f\u53d8\u5316\uff0c\u5c31\u91cd\u65b0\u4f20\u8f93;\u5f53\u7136\uff0c\u4e5f\u53ef\u4ee5\u901a\u8fc7\u5728rsync\u547d\u4ee4\u884c\u4e2d\u6307\u5b9a\u67d0\u4e9b\u9009\u9879\u6765\u6539\u53d8quick check\u7684\u68c0\u67e5\u6a21\u5f0f\uff0c\u6bd4\u5982&quot;--size-only&quot;\u9009\u9879\u8868\u793a&quot;quick check&quot;\u5c06\u4ec5\u68c0\u67e5\u6587\u4ef6\u5927\u5c0f\u4e0d\u540c\u7684\u6587\u4ef6\u4f5c\u4e3a\u5f85\u4f20\u8f93\u6587\u4ef6\u3002\n\n\u4f7f\u7528-c\u53c2\u6570\u4ee5\u540e\uff0c\u5219\u901a\u8fc7\u5224\u65ad\u6587\u4ef6\u5185\u5bb9\u7684\u6821\u9a8c\u548c\uff0c\u51b3\u5b9a\u662f\u5426\u91cd\u65b0\u4f20\u8f93\uff0c\u589e\u5f3a\u4e86\u6570\u636e\u4f20\u8f93\u7684\u53ef\u9760\u6027\u4f46\u964d\u4f4e\u4e86\u6548\u7387\uff0c\u662f\u5426\u4f7f\u7528\u8be5\u9009\u9879\u5462?\u5982\u679c\u662f\u79c1\u7f51\u5185\u90e8\u4f20\u8f93\uff0c\u7f51\u7edc\u901a\u5e38\u53ef\u63a7\u4e14\u8f83\u4e3a\u7a33\u5b9a\uff0c\u6587\u4ef6\u5b8c\u6574\u6027\u901a\u5e38\u4e0d\u4f1a\u6709\u95ee\u9898\uff0c\u4e0d\u9700\u8981\u52a0-c\u9009\u9879\uff0c\u5982\u679c\u662f\u4f20\u5230\u5916\u7f51\uff0c\u7f51\u7edc\u4e0d\u53ef\u63a7\u4e14\u4e0d\u591f\u7a33\u5b9a\uff0c\u53ef\u4ee5\u8003\u8651\u52a0\u4e0a-c\u9009\u9879\u589e\u5f3a\u53ef\u9760\u6027\uff0c\u6b64\u65f6\u9700\u8981\u4ed8\u51fa\u7684\u4ee3\u4ef7\u5c31\u662f\u6548\u7387\u7684\u964d\u4f4e\uff0c\u7528\u4e0d\u7528\u8bf7\u81ea\u884c\u659f\u914c\n\nrsync\u652f\u6301\u975e\u5e38\u591a\u7684\u9009\u9879\n\u4e00\u4e9b\u9009\u9879\u63a7\u5236\u68c0\u67e5\u7684\u6a21\u5f0f\uff08\u5982-c\u3001--size-only\u7b49\uff09\u3001\u4e00\u4e9b\u9009\u9879\u63a7\u5236\u6587\u4ef6\u540c\u6b65\u7684\u6a21\u5f0f(\u4f8b\u5982--delete\u7b49)\n\u68c0\u67e5\u6a21\u5f0f\u51b3\u5b9a\u4e86\u54ea\u4e9b\u6587\u4ef6\u9700\u8981\u88ab\u540c\u6b65\n\u6587\u4ef6\u540c\u6b65\u6a21\u5f0f\u51b3\u5b9a\u4e86\u5728\u6587\u4ef6\u786e\u5b9a\u8981\u88ab\u540c\u6b65\u540e\u3001\u540c\u6b65\u8fc7\u7a0b\u53d1\u751f\u4e4b\u524d\u8981\u505a\u7684\u989d\u5916\u5de5\u4f5c\n\u76f8\u5bf9\u6765\u8bf4\uff0c\u4e3arsync\u624b\u52a8\u6307\u5b9a\u540c\u6b65\u6a21\u5f0f\u7684\u9009\u9879\u66f4\u5e38\u89c1\u4e00\u4e9b\uff0c\u53ea\u6709\u5728\u6709\u7279\u6b8a\u9700\u6c42\u65f6\u624d\u6307\u5b9a\u68c0\u67e5\u6a21\u5f0f\uff0c\u56e0\u4e3a\u5927\u591a\u6570\u68c0\u67e5\u6a21\u5f0f\u9009\u9879\u90fd\u53ef\u80fd\u4f1a\u5f71\u54cdrsync\u7684\u6027\u80fd\uff0c\u4f8b\u5982\u4e0a\u9762\u6240\u8ff0-c\u9009\u9879\n\n# 1\u3001\u9009\u9879-n\n\u5982\u679c\u4e0d\u786e\u5b9a rsync \u6267\u884c\u540e\u4f1a\u4ea7\u751f\u4ec0\u4e48\u7ed3\u679c\uff0c\u53ef\u4ee5\u5148\u7528`-n`\u6216`--dry-run`\u53c2\u6570\u6a21\u62df\u6267\u884c\u7684\u7ed3\u679c\u3002\nrsync -anv source\/ destination\n\n\u4e0a\u9762\u547d\u4ee4\u4e2d\uff0c-n\u53c2\u6570\u6a21\u62df\u547d\u4ee4\u6267\u884c\u7684\u7ed3\u679c\uff0c\u5e76\u4e0d\u771f\u7684\u6267\u884c\u547d\u4ee4\u3002-v\u53c2\u6570\u5219\u662f\u5c06\u7ed3\u679c\u8f93\u51fa\u5230\u7ec8\u7aef\uff0c\u8fd9\u6837\u5c31\u53ef\u4ee5\u770b\u5230\u54ea\u4e9b\u5185\u5bb9\u4f1a\u88ab\u540c\u6b65\u3002\n\n# 2\u3001\u9009\u9879--delete\n\u5982\u679c\u8981\u4f7f\u5f97\u76ee\u6807\u76ee\u5f55\u6210\u4e3a\u6e90\u76ee\u5f55\u7684\u955c\u50cf\u526f\u672c\uff0c\u5219\u5fc5\u987b\u4f7f\u7528`--delete`\u53c2\u6570\uff0c\u8fd9\u5c06\u5220\u9664\u53ea\u5b58\u5728\u4e8e\u76ee\u6807\u76ee\u5f55\u3001\u4e0d\u5b58\u5728\u4e8e\u6e90\u76ee\u5f55\u7684\u6587\u4ef6\uff0c\u4e5f\u5c31\u662f&quot;\u591a\u5219\u5220\u4e4b\uff0c\u5c11\u5219\u8865\u4e4b&quot;\u3002\n\n[root@www ~]# echo 111 &gt; \/aaa\/1.txt\n[root@www ~]# echo 222 &gt; \/aaa\/2.txt\n[root@www ~]# echo 333 &gt; \/aaa\/3.txt\n[root@www ~]# echo 444 &gt; \/bbb\/4.txt\n[root@www ~]# \n[root@www ~]# \n[root@www ~]# \n[root@www ~]# rsync -az --delete \/aaa\/ \/bbb\/\n[root@www ~]# ls \/bbb\/\n1.txt  2.txt  3.txt\n\n# 3\u3001\u9009\u9879--exclude\n\u6709\u65f6\uff0c\u6211\u4eec\u5e0c\u671b\u540c\u6b65\u65f6\u6392\u9664\u67d0\u4e9b\u6587\u4ef6\u6216\u76ee\u5f55\uff0c\u8fd9\u65f6\u53ef\u4ee5\u7528--exclude\u53c2\u6570\u6307\u5b9a\u6392\u9664\u6a21\u5f0f\u3002\n$ rsync -av --exclude=&#039;*.txt&#039; source\/ destination\n\u6216\u8005\n$ rsync -av --exclude &#039;*.txt&#039; source\/ destination\n\u4e0a\u9762\u547d\u4ee4\u6392\u9664\u4e86\u6240\u6709 TXT \u6587\u4ef6\u3002\n\u6ce8\u610f\uff0crsync \u4f1a\u540c\u6b65\u4ee5&quot;\u70b9&quot;\u5f00\u5934\u7684\u9690\u85cf\u6587\u4ef6\uff0c\u5982\u679c\u8981\u6392\u9664\u9690\u85cf\u6587\u4ef6\uff0c\u53ef\u4ee5\u8fd9\u6837\u5199--exclude=&quot;.*&quot;\u3002\n\n\u5982\u679c\u8981\u6392\u9664source\/\u4e0b\u67d0\u4e2a\u5b50\u76ee\u5f55\u91cc\u9762\u7684\u6240\u6709\u6587\u4ef6\uff0c\u4f46\u4e0d\u5e0c\u671b\u6392\u9664\u8be5\u5b50\u76ee\u5f55\u672c\u8eab\uff0c\u53ef\u4ee5\u5199\u6210\u4e0b\u9762\u8fd9\u6837\u3002\n$ rsync -av --exclude &#039;dir1\/*&#039; source\/ destination\n\n\u591a\u4e2a\u6392\u9664\u6a21\u5f0f\uff0c\u53ef\u4ee5\u7528\u591a\u4e2a--exclude\u53c2\u6570\u3002\n$ rsync -av --exclude &#039;file1.txt&#039; --exclude &#039;dir1\/*&#039; source\/ destination\n\n\u591a\u4e2a\u6392\u9664\u6a21\u5f0f\u4e5f\u53ef\u4ee5\u5229\u7528 Bash \u7684\u5927\u6269\u53f7\u7684\u6269\u5c55\u529f\u80fd\uff0c\u53ea\u7528\u4e00\u4e2a--exclude\u53c2\u6570\u3002\n$ rsync -av --exclude={&#039;file1.txt&#039;,&#039;dir1\/*&#039;} source\/ destination\n\n\u5982\u679c\u6392\u9664\u6a21\u5f0f\u5f88\u591a\uff0c\u53ef\u4ee5\u5c06\u5b83\u4eec\u5199\u5165\u4e00\u4e2a\u6587\u4ef6\uff0c\u6bcf\u4e2a\u6a21\u5f0f\u4e00\u884c\uff0c\u7136\u540e\u7528--exclude-from\u53c2\u6570\u6307\u5b9a\u8fd9\u4e2a\u6587\u4ef6\u3002\n$ rsync -av --exclude-from=&#039;exclude-file.txt&#039; source\/ destination\n\n# 4\u3001\u9009\u9879--include\n\u7528\u6765\u6307\u5b9a\u5fc5\u987b\u540c\u6b65\u7684\u6587\u4ef6\u6a21\u5f0f\uff0c\u5f80\u5f80\u4e0e--exclude\u7ed3\u5408\u4f7f\u7528\u3002\n$ rsync -av --include=&quot;[0-9].txt&quot; --exclude=&#039;*&#039; source\/ destination\n\u4e0a\u9762\u547d\u4ee4\u6307\u5b9a\u540c\u6b65\u65f6\uff0c\u6392\u9664\u6240\u6709\u6587\u4ef6\uff0c\u4f46\u662f\u4f1a\u5305\u62ec1.txt\u30012.txt\u7b49\u6587\u4ef6\uff0c\u6ce8\u610f--include\u5fc5\u987b\u5728--exclude\u4e4b\u524d<\/code><\/pre>\n<h4>4.2.2 \u8fdc\u7a0b\u6a21\u5f0f<\/h4>\n<p>\u4f20\u8f93\u65f6\u9700\u8981\u8ba4\u8bc1\u8fdc\u7a0b\u4e3b\u673a\u7684\u8d26\u53f7\u5bc6\u7801\uff0c\u6709\u4e24\u79cd\u8ba4\u8bc1\u65b9\u5f0f\uff1assh\u8ba4\u8bc1\u4e0e\u5b88\u62a4\u8fdb\u7a0brsync-daemon\u8ba4\u8bc1<\/p>\n<pre><code class=\"language-bash\"># 1\u3001ssh\u534f\u8bae\n\uff081\uff09\u5728\u672c\u5730\u4e0e\u76ee\u6807\u4e3b\u673a\u90fd\u5b89\u88c5rsync\n\uff082\uff09\u8fdc\u7a0b\u4e3b\u673a\u8981\u6253\u5f00sshd\u670d\u52a1\n\uff083\uff09\u9700\u8981\u7528\u5230\u7684\u8d26\u53f7\u662f\u8fdc\u7a0b\u4e3b\u673a\u53ef\u767b\u5f55\u7cfb\u7edf\u8d26\u53f7---\u300b\u4e0d\u5b89\u5168\n\uff084\uff09\u4e0d\u53d7\u76ee\u5f55\u9650\u5236-------------------------\u300b\u4e0d\u5b89\u5168\n\n# 2\u3001rsync\u534f\u8bae\n\uff081\uff09\u5728\u672c\u5730\u4e0e\u76ee\u6807\u4e3b\u673a\u90fd\u5b89\u88c5rsync\n\uff082\uff09\u8fdc\u7a0b\u4e3b\u673a\u8981\u6253\u5f00rsync\u5b88\u62a4\u8fdb\u7a0b\n    rsync --daemon\n    \u6216\n    systemctl start rsyncd\n\uff083\uff09\u7528\u5230\u7684\u662f\u865a\u62df\u8d26\u53f7\uff0c\u865a\u62df\u8d26\u53f7\u5bf9\u5e94\u7684\u662f\u914d\u7f6e\u6587\u4ef6\u4e2duid\u7684\u6743\u9650\uff0c\u4f8b\u5982\uff1auid=rsync\n    \u865a\u62df\u8d26\u53f7egon-------&gt;\u8fdc\u7aef\u4e3b\u673a\u771f\u5b9e\u5b58\u5728\u7684\u7cfb\u7edf\u8d26\u53f7rsync\n\uff084\uff09\u7528\u7684\u662f\u6a21\u5757\u540d-\u300b\u5177\u4f53\u7684\u76ee\u5f55<\/code><\/pre>\n<h5>4.2.2.1 \u8fdc\u7a0b\u6a21\u5f0f\u4e4bSSH\u8ba4\u8bc1<\/h5>\n<p><strong>\u57fa\u4e8essh\u534f\u8bae\uff1arsync \u9ed8\u8ba4\u4f7f\u7528 SSH \u8fdb\u884c\u8fdc\u7a0b\u767b\u5f55\u548c\u6570\u636e\u4f20\u8f93\uff0c\u8be6\u7ec6\u5730\u8bf4\uff0crsync \u5728\u4f20\u8f93\u6570\u636e\u4e4b\u524d\uff0c\u4f1a\u5148\u4e0e\u8fdc\u7aef\u8fdb\u884c\u4e00\u6b21 ssh \u767b\u5f55\u8ba4\u8bc1\uff08\u91c7\u7528\u7684\u662f\u7cfb\u7edf\u8d26\u53f7\uff09\uff0c\u56e0\u6b64\u9700\u8981\u76ee\u6807\u4e3b\u673a\u4e8b\u5148\u5f00\u542fssh\u670d\u52a1\u3002<\/strong><\/p>\n<p>\u8bed\u6cd5\uff1a\u8bed\u6cd5\u7c7b\u4f3c\u4e8escp\u547d\u4ee4\uff0c\u4f46\u5907\u4efd\u65b9\u6848\u4e0d\u540c\u4e8escp(scp \u4e0e cp\u4e00\u6837\uff0c\u6bcf\u6b21\u90fd\u662f\u5168\u91cf)<\/p>\n<pre><code># \u62c9\u53d6\n\u547d\u4ee4   \u9009\u9879        \u8fdc\u7a0b\u7528\u6237@\u8fdc\u7a0b\u4e3b\u673a:\u8fdc\u7a0b\u7684\u76ee\u5f55\u4f5c\u4e3a\u6e90   \u672c\u5730\u4f5c\u4e3a\u76ee\u6807\nrsync [OPTION]    [USER@]HOST:SRC                [DEST]\n\n# \u63a8\u9001\n\u547d\u4ee4   \u9009\u9879        \u672c\u5730\u6570\u636e\u4f5c\u4e3a\u6e90                   \u8fdc\u7a0b\u7528\u6237@\u8fdc\u7a0b\u4e3b\u673a:\u8fdc\u7a0b\u7684\u76ee\u5f55\u4f5c\u4e3a\u76ee\u6807\nrsync [OPTION]    SRC [SRC]...                  [USER@]HOST:DEST<\/code><\/pre>\n<p>\u793a\u4f8b1\uff1a\u62c9\u53d6<\/p>\n<pre><code class=\"language-python\">[root@www ~]# rsync -avz root@192.168.12.17:\/data \/bak\/\n......\n[root@www ~]# ls \/bak\/\ndata\n[root@www ~]# \u53ef\u4ee5\u7528stat\u547d\u4ee4\u67e5\u770b\u4e00\u4e0b\u6700\u8fd1\u6539\u52a8\u65f6\u95f4\uff0c\u7136\u540e\u518d\u6b21\u6267\u884c\u4e0b\u884c\u547d\u4ee4\n[root@www ~]# rsync -avz root@192.168.12.17:\/data \/bak\/\n[root@www ~]# \u6b64\u65f6\u7528stat\u547d\u4ee4\u67e5\u770b\u4e00\u4e0b\u6700\u8fd1\u6539\u52a8\u65f6\u95f4\uff0c\u4e0e\u4e0a\u4e00\u6b21\u5b8c\u5168\u76f8\u540c<\/code><\/pre>\n<p>\u793a\u4f8b2\uff1a\u63a8\u9001<\/p>\n<pre><code>[root@www ~]# rsync -avz \/bak root@192.168.12.17:\/data\/  # \u63a8\u9001<\/code><\/pre>\n<p>\u7531\u4e8e\u65e9\u671f rsync \u4e0d\u4f7f\u7528 SSH \u534f\u8bae\uff0c\u9700\u8981\u7528<code>-e<\/code>\u53c2\u6570\u6307\u5b9a\u534f\u8bae\uff0c\u540e\u6765\u624d\u6539\u7684\u3002\u6240\u4ee5\uff0c\u4e0b\u9762<code>-e ssh<\/code>\u53ef\u4ee5\u7701\u7565\u3002<\/p>\n<pre><code class=\"language-bash\">$ rsync -av -e ssh source\/ user@remote_host:\/destination<\/code><\/pre>\n<p>\u4f46\u662f\uff0c\u5982\u679c ssh \u547d\u4ee4\u6709\u9644\u52a0\u7684\u53c2\u6570\uff0c\u5219\u5fc5\u987b\u4f7f\u7528<code>-e<\/code>\u53c2\u6570\u6307\u5b9a\u6240\u8981\u6267\u884c\u7684 SSH \u547d\u4ee4\u3002<\/p>\n<pre><code class=\"language-bash\">$ rsync -av -e &#039;ssh -p 8888&#039; source\/ user@remote_host:\/destination<\/code><\/pre>\n<p>\u4e0a\u9762\u547d\u4ee4\u4e2d\uff0c<code>-e<\/code>\u53c2\u6570\u6307\u5b9a SSH \u4f7f\u75282234\u7aef\u53e3\u3002<\/p>\n<h5>4.2.2.2 \u8fdc\u7a0b\u6a21\u5f0f\u4e4b\u5b88\u62a4\u8fdb\u7a0b\u8ba4\u8bc1<\/h5>\n<p>1)  \u5b88\u62a4\u8fdb\u7a0b\u6a21\u5f0f\u4e4brsync\u534f\u8bae<\/p>\n<pre><code class=\"language-bash\">\u5b88\u62a4\u8fdb\u7a0b\u6a21\u5f0f\u5176\u5b9e\u4e5f\u662f\u4e00\u79cd\u8fdc\u7a0b\u6a21\u5f0f\uff0c\u53ea\u4e0d\u8fc7\u91c7\u7528\u7684\u662frsync\u534f\u8bae\u4f20\u8f93\uff0c\n\u82e5\u60f3\u91c7\u7528rsync\u534f\u8bae\u4f20\u8f93\uff0c\u5219\u9700\u8981\u8fdc\u7a0b\u4e3b\u673a\u4e5f\u5b89\u88c5rsync\uff0c\u5e76\u542f\u52a8rsync\u5b88\u62a4\u8fdb\u7a0b\uff0c\u6b64\u65f6\u4e0d\u9700\u8981\u4f9d\u8d56\u8fdc\u7a0b\u4e3b\u673a\u7684sshd\u670d\u52a1<\/code><\/pre>\n<p>2\uff09\u4e3a\u4ec0\u4e48\u4f7f\u7528\u5b88\u62a4\u8fdb\u7a0b\u6a21\u5f0f<\/p>\n<pre><code>1.\u57fa\u4e8essh\u7684\u8ba4\u8bc1\uff0c\u4f20\u8f93\u65f6\u4f1a\u4f7f\u7528\u7cfb\u7edf\u7528\u6237\u548c\u5bc6\u7801\uff0c\u4e0d\u5b89\u5168\uff0c\u800c\u5b88\u62a4\u8fdb\u7a0b\u6a21\u5f0f\u4f7f\u7528\u7684\u662f\u865a\u62df\u7528\u6237\u548c\u865a\u62df\u5bc6\u7801\n2.\u5f53\u4f7f\u7528\u666e\u901a\u7528\u6237\u4f20\u8f93\u6587\u4ef6\u65f6\u4f1a\u51fa\u73b0\u6743\u9650\u4e0d\u8db3\u7684\u60c5\u51b5\uff0c\u800c\u5b88\u62a4\u8fdb\u7a0b\u6a21\u5f0f\u53ef\u4ee5\u89e3\u51b3\u8fd9\u4e2a\u95ee\u9898<\/code><\/pre>\n<p>3\uff09\u5982\u4f55\u4f7f\u7528rsync\u534f\u8bae\u4f20\u8f93<\/p>\n<p>\u5728\u4f20\u8f93\u65f6\uff0c\u5982\u679c\u672a\u6307\u5b9a\u534f\u8bae\uff0c\u5219\u9ed8\u8ba4\u7528ssh\u534f\u8bae\uff0c\u6307\u5b9a\u4f7f\u7528rsync\u534f\u8bae\u7684\u65b9\u5f0f\u6709\u4e24\u79cd<\/p>\n<pre><code class=\"language-bash\"># \u65b9\u5f0f\u4e00\uff1arsync:\/\/\u534f\u8bae\uff08\u9ed8\u8ba4\u7aef\u53e3873\uff09\n$ rsync -av source\/ rsync:\/\/192.168.12.66\/module\/destination\n\n# \u65b9\u5f0f\u4e8c\uff1a\u8fdc\u7a0b\u76ee\u6807\u524d\u9762\u4f7f\u7528\u8fde\u7eed\u4e24\u4e2a\u5192\u53f7\n$ rsync -av source\/ 192.168.12.66::module\/destination\n\n\u5b8c\u6574\u8bed\u6cd5\uff1a\nPull: rsync [OPTION...] [USER@]HOST::SRC... [DEST]\n        rsync [OPTION...] rsync:\/\/[USER@]HOST[:PORT]\/SRC... [DEST]\nPush: rsync [OPTION...] SRC... [USER@]HOST::DEST\n        rsync [OPTION...] SRC... rsync:\/\/[USER@]HOST[:PORT]\/DEST\n\n\u82e5\u8fdc\u7a0b\u4e3b\u673a\u4fee\u6539\u4e86rsync\u5b88\u62a4\u8fdb\u7a0b\u7684\u7aef\u53e3\uff0c\u90a3\u4e48\u5728\u672c\u673a\u5e94\u8be5\u8fd9\u4e48\u505a\n$ rsync -av source\/ rsync:\/\/192.168.12.66:879\/module\/destination  # \u53ef\u4ee5\u6307\u5b9a\u7aef\u53e3<\/code><\/pre>\n<p>\u6ce8\u610f\uff0c\u4e0a\u9762\u5730\u5740\u4e2d\u7684<code>module<\/code>\u5e76\u4e0d\u662f\u5b9e\u9645\u8def\u5f84\u540d\uff0c\u800c\u662f rsync \u5b88\u62a4\u7a0b\u5e8f\u6307\u5b9a\u7684\u4e00\u4e2a\u8d44\u6e90\u540d\uff0c\u7531\u7ba1\u7406\u5458\u5206\u914d\u3002<\/p>\n<p><strong>\u5b88\u62a4\u8fdb\u7a0b\u6a21\u5f0f\u642d\u5efa<\/strong><\/p>\n<p>I\uff1a\u73af\u5883\u51c6\u5907<\/p>\n<table>\n<thead>\n<tr>\n<th>\u4e3b\u673a<\/th>\n<th>IP<\/th>\n<th>\u89d2\u8272<\/th>\n<\/tr>\n<\/thead>\n<tbody>\n<tr>\n<td>\u672c\u5730<\/td>\n<td>192.168.12.17<\/td>\n<td>rsync\u5ba2\u6237\u7aef<\/td>\n<\/tr>\n<tr>\n<td>\u8fdc\u7a0b<\/td>\n<td>192.168.12.39<\/td>\n<td>rsync\u670d\u52a1\u7aef<\/td>\n<\/tr>\n<\/tbody>\n<\/table>\n<pre><code class=\"language-bash\">\u672c\u5730\u4e0e\u8fdc\u7a0b\u5747\u6267\u884c\u4e0b\u8ff0\u4e24\u6761\u547d\u4ee4\nsetenforce 0\niptables -F<\/code><\/pre>\n<p>II\uff1a\u5b89\u88c5rsync\uff08\u672c\u5730\u548c\u8fdc\u7a0b\u4e3b\u673a\u90fd\u8981\u88c5\uff09<\/p>\n<pre><code class=\"language-bash\">[root@remote ~]# yum install rsync -y<\/code><\/pre>\n<p>III\uff1a\u5728\u8fdc\u7a0b\u4e3b\u673a\u914d\u7f6e\u5e76\u542f\u52a8\u5b88\u62a4\u8fdb\u7a0b<\/p>\n<pre><code class=\"language-bash\">[root@remote ~]# vim \/etc\/rsyncd.conf \nuid = rsync  # \u865a\u62df\u7528\u6237egon\u5bf9\u5e94\u7684\u5c31\u662f\u8be5\u7528\u6237\u7684\u6743\u9650\uff0c\u9650\u5236\u7684\u662f\u5ba2\u6237\u7aef\u7684\u6743\u9650\ngid = rsync  # \u865a\u62df\u7528\u6237egon\u5bf9\u5e94\u7684\u5c31\u662f\u8be5\u7ec4\u7684\u6743\u9650\uff0c\u9650\u5236\u7684\u662f\u5ba2\u6237\u7aef\u7684\u6743\u9650\uff0c\nport = 873\nfake super = yes\nuse chroot = no\nmax connections = 200\ntimeout = 600\nignore errors\nread only = false\nlist = false\nauth users = egon\nsecrets file = \/etc\/rsync.passwd\nlog file = \/var\/log\/rsyncd.log\n#####################################\n[xxx]\ncomment = &quot;\u5907\u4efd\u6587\u4ef6\u7684\u76ee\u5f55&quot;\npath = \/egon_bak<\/code><\/pre>\n<p>rsync\u9ed8\u8ba4\u914d\u7f6e\u6587\u4ef6\u5404\u914d\u7f6e\u9879\u8be6\u89e3\u5982\u4e0b\uff0c\u6ce8\u610f\u4e0d\u8981\u5c06\u6ce8\u91ca\u5378\u5378\u8f7d\u914d\u7f6e\u9879\u540e\u9762<\/p>\n<pre><code class=\"language-bash\">[root@remote ~]# vim \/etc\/rsyncd.conf\n#\u5ba2\u6237\u7aef\u4ee5\u865a\u62df\u7528\u6237egon\u767b\u5f55\u6210\u529f\u540e\uff0c\u4f1a\u8f6c\u6362\u6210uid\u6307\u5b9a\u7684\u8eab\u4efd\uff0c\u7136\u540e\u4ee5\u8be5\u8eab\u4efd\u6765\u5b8c\u6210\u5bf9\u76ee\u6807\u76ee\u5f55\u7684\u5199\u64cd\u4f5c\nuid = rsync\n\n#\u5ba2\u6237\u7aef\u4ee5\u865a\u62df\u7528\u6237egon\u767b\u5f55\u6210\u529f\u540e\uff0c\u8f6c\u6362\u6210\u7684\u7ec4\u8eab\u4efd\ngid = rsync\n\n#\u7aef\u53e3\nport = 873\n\n#\u8bbe\u7f6e\u4e3ayes\uff0c\u5219\u4ee3\u8868uid\u53ef\u4ee5\u4e0d\u4e3aroot\n#\u6ce8\u610f\uff0c\u5982\u679c\u60f3\u8ba9rsync -a\u9009\u9879\u80fd\u628a\u672c\u5730\u6587\u4ef6\u7684\u5c5e\u4e3b\u548c\u5c5e\u7ec4\u4e5f\u540c\u6b65\u5230\u8fdc\u7aef\n#\u5219\u5fc5\u987b\u8ba9\u8fdc\u7aef\u7684\u5b88\u62a4\u8fdb\u7a0b\u4ee5root\u7528\u6237\u542f\u52a8\uff0c\u5373\u8bbe\u7f6euid=root\u3001gid=root\uff0c\u5e76\u4e14\u5c06fake super\u6539\u4e3ano\n#\u5728rsync -a\u9009\u9879\u4e0b\uff0c\u672c\u5730\u6587\u4ef6\u7684uid\u548cgid\u4f1a\u540c\u6b65\u7ed9\u670d\u52a1\u7aef\uff0c\u4f46\u670d\u52a1\u7aef\u7684uid\u548cgid\u5bf9\u5e94\u7684\u7528\u6237\u548c\u7ec4\u540d\u6709\u53ef\u80fd\u4e0e\u672c\u5730\u4e0d\u4e00\u81f4\uff0c\u8fd9\u5b8c\u5168\u6b63\u5e38\nfake super = yes\n\n#\u5b89\u5168\u673a\u5236,rsync daemon\u5728\u4f20\u8f93\u524d\u662f\u5426\u5207\u6362\u5230\u6307\u5b9a\u7684path\u76ee\u5f55\u4e0b\uff0c\u5e76\u5c06\u5176\u76d1\u7981\u5728\u5185\nuse chroot = no  \n\n#\u6700\u5927\u8fde\u63a5\u6570\uff0c0\u8868\u793a\u6ca1\u6709\u9650\u5236\nmax connections = 200\n\n#\u8d85\u65f6\u65f6\u95f4\uff0c\u786e\u4fddrsync\u670d\u52a1\u5668\u4e0d\u4f1a\u6c38\u8fdc\u7b49\u5f85\u4e00\u4e2a\u5d29\u6e83\u7684\u5ba2\u6237\u7aef\uff0c0\u8868\u793a\u6c38\u8fdc\u7b49\u5f85\ntimeout = 600\n\n#\u5ffd\u7565\u9519\u8bef\nignore errors\n\n#\u5173\u95ed\u53ea\u8bfb\nread only = false\n\n#\u67e5\u770b\u6a21\u5757\u5217\u8868\uff0c\u6539\u4e3atrue\u540e\uff0c\u5728local\u7aef\u53ef\u4ee5\u7528\u547d\u4ee4rsync rsync:\/\/192.168.12.39\u67e5\u770b\u8fdc\u7aef\u53ef\u7528\u7684\u6a21\u5757\u6570\nlist = false  \n\n#\u6307\u5b9a\u865a\u62df\u7528\u6237\uff0c\u4f20\u8f93\u65f6\u4f7f\u7528\u8be5\u7528\u6237\u5c31\u4f1a\u5bf9\u5e94\u5230\u771f\u5b9e\u7cfb\u7edf\u7528\u6237rsync\u7684\u6743\u9650\uff0c\u628a\u6b64\u5904\u6ce8\u91ca\u6389\uff0c\u53ef\u4ee5\u5728\u6a21\u5757\u91cc\u8bbe\u7f6e\n#auth users = egon  \n\n#\u6307\u5b9a\u865a\u62df\u7528\u6237\u7684\u5bc6\u7801\u6587\u4ef6\n#secrets file = \/etc\/rsync.passwd\n\n#\u65e5\u5fd7\u6587\u4ef6\nlog file = \/var\/log\/rsyncd.log\n\n# \u6307\u5b9a\u54ea\u4e9b\u6587\u4ef6\u4e0d\u7528\u8fdb\u884c\u538b\u7f29\u4f20\u8f93\ndont compress = *.gz *.tgz *.zip *.z *.Z *.rpm *.deb *.bz2  \n\n###########\u4e0b\u9762\u6307\u5b9a\u6a21\u5757\uff0c\u5e76\u8bbe\u5b9a\u6a21\u5757\u914d\u7f6e\u53c2\u6570\uff0c\u53ef\u4ee5\u521b\u5efa\u591a\u4e2a\u6a21\u5757###########\n# \u6a21\u5757\u540d\u4e3axxx\uff0c\u5bf9\u5e94\u7684\u5b9e\u9645\u76ee\u5f55\u4e3a\/egon_bak\n[xxx]   \n#\u5907\u6ce8\ncomment = &quot;\u5907\u4efd\u6587\u4ef6\u7684\u76ee\u5f55&quot;\n\n#\u771f\u5b9e\u6587\u4ef6\u76ee\u5f55\npath = \/egon_bak\n\n# \u5ffd\u7565\u67d0\u4e9bIO\u9519\u8bef\u4fe1\u606f\nignore errors    \n\n# \u6307\u5b9a\u8be5\u6a21\u5757\u662f\u5426\u53ef\u8bfb\u5199\uff0c\u5373\u80fd\u5426\u4e0a\u4f20\u6587\u4ef6\uff0cfalse\u8868\u793a\u53ef\u8bfb\u5199\uff0ctrue\u8868\u793a\u53ef\u8bfb\u4e0d\u53ef\u5199\u3002\u6240\u6709\u6a21\u5757\u9ed8\u8ba4\u4e0d\u53ef\u4e0a\u4f20\nread only = false  \n\n# \u6307\u5b9a\u8be5\u6a21\u5f0f\u662f\u5426\u652f\u6301\u4e0b\u8f7d\uff0c\u8bbe\u7f6e\u4e3atrue\u8868\u793a\u5ba2\u6237\u7aef\u4e0d\u80fd\u4e0b\u8f7d\u3002\u6240\u6709\u6a21\u5757\u9ed8\u8ba4\u53ef\u4e0b\u8f7d\nwrite only = false \n\n# \u5ba2\u6237\u7aef\u8bf7\u6c42\u663e\u793a\u6a21\u5757\u5217\u8868\u65f6\uff0c\u8be5\u6a21\u5757\u662f\u5426\u663e\u793a\u51fa\u6765\uff0c\u8bbe\u7f6e\u4e3afalse\u5219\u8be5\u6a21\u5757\u4e3a\u9690\u85cf\u6a21\u5757\u3002\u9ed8\u8ba4true\nlist = false       \n\n# \u6307\u5b9a\u5141\u8bb8\u8fde\u63a5\u5230\u8be5\u6a21\u5757\u7684\u673a\u5668\uff0c\u591a\u4e2aip\u7528\u7a7a\u683c\u9694\u5f00\u6216\u8005\u8bbe\u7f6e\u533a\u95f4\nhosts allow = 10.0.0.0\/24 \n\n# \u6307\u5b9a\u4e0d\u5141\u8bb8\u8fde\u63a5\u5230\u8be5\u6a21\u5757\u7684\u673a\u5668\nhosts deny = 0.0.0.0\/32   \n\n# \u82e5\u6a21\u5757\u91cc\u6307\u5b9a\u865a\u62df\u7528\u6237\uff0c\u5219\u628a\u5168\u5c40\u7684\u6ce8\u91ca\u6389\u5373\u53ef\nauth users = rsync_backup \nsecrets file = \/etc\/rsyncd.passwd \n# \u4fdd\u5b58auth users\u7528\u6237\u5217\u8868\u7684\u7528\u6237\u540d\u548c\u5bc6\u7801\uff0c\u6bcf\u884c\u5305\u542b\u4e00\u4e2ausername:passwd\u3002\n# \u7531\u4e8e&quot;strict modes&quot;\u9ed8\u8ba4\u4e3atrue\uff0c\u6240\u4ee5\u6b64\u6587\u4ef6\u8981\u6c42\u975ersync daemon\u7528\u6237\u4e0d\u53ef\u8bfb\u5199\u3002\u53ea\u6709\u542f\u7528\u4e86auth users\u8be5\u9009\u9879\u624d\u6709\u6548\u3002\n\n[yyy]    # \u4ee5\u4e0b\u5b9a\u4e49\u7684\u662f\u7b2c\u4e8c\u4e2a\u6a21\u5757,\u672a\u8bbe\u7f6e\u865a\u62df\u8d26\u53f7\uff0c\u5219\u6240\u6709\u8d26\u53f7\u90fd\u53ef\u4ee5\u64cd\u4f5c\u8be5\u6a21\u5757\npath=\/bak\/\nread only = false\nignore errors<\/code><\/pre>\n<p>\u521b\u5efa\u542f\u52a8\u5b88\u62a4\u8fdb\u7a0b\u65f6\u7528\u5230\u7684\u7528\u6237\u4e0e\u7ec4<\/p>\n<pre><code class=\"language-bash\">[root@remote ~]# useradd rsync -s \/sbin\/nologin -M<\/code><\/pre>\n<p>\u914d\u7f6e\u865a\u62df\u7528\u6237egon\u7684\u5bc6\u7801\u6587\u4ef6<\/p>\n<pre><code class=\"language-bash\">[root@remote ~]# echo &quot;egon:123&quot; &gt; \/etc\/rsync.passwd  # \u865a\u62df\u7528\u6237egon\u7684\u5bc6\u7801\u4e3a123\uff0c\u6ce8\u610f\u8fd9\u662f\u5728\u670d\u52a1\u7aef\u7684\u5bc6\u7801\u6587\u4ef6\uff0c\u91cc\u9762\u5fc5\u987b\u662f&quot;\u7528\u6237\u540d:\u5bc6\u7801&quot;\u7684\u683c\u5f0f\uff0c\u800c\u5728\u5ba2\u6237\u7aef\u5219\u4e0d\u4e00\u6837\n[root@remote ~]# chmod 600 !$<\/code><\/pre>\n<p>\u4e3a\u6a21\u5757xxx\u521b\u5efa\u771f\u5b9e\u7684\u76ee\u5f55<\/p>\n<pre><code class=\"language-bash\">[root@remote ~]# mkdir \/egon_bak\n[root@remote ~]# chown -R rsync.rsync \/egon_bak\/<\/code><\/pre>\n<p>\u542f\u52a8\u5b88\u62a4\u8fdb\u7a0b<\/p>\n<pre><code class=\"language-bash\"># 1\u3001rsync daemon\u7684\u542f\u52a8\u65b9\u5f0f\u5f88\u7b80\u5355\u3002\n[root@remote ~]# rsync --daemon  # \u542f\u52a8 rsync \u670d\u52a1\uff0c\u4ee5\u72ec\u7acb\u76d1\u542c\u670d\u52a1\u7684\u65b9\u5f0f\uff08\u5b88\u62a4\u8fdb\u7a0b\uff09\u8fd0\u884c \n# \u6ce8\u610f\u6ce8\u610f\u6ce8\u610f\uff1a\n\u6211\u4eec\u662f\u4ee5root\u7528\u6237\u542f\u52a8\u7684rsync\u8fdb\u7a0b\uff0c\u6240\u4ee5rsync\u7684\u8fdb\u7a0b\u8eab\u4efd\u5c31\u662froot\uff0c\u4e00\u5b9a\u4e0e\u914d\u7f6e\u6587\u4ef6\u4e2d\u7684uid\u6307\u5b9a\u7684\u8eab\u4efd\u533a\u5206\u5f00\n\u8bf4\u767d\u4e86\u6211\u4eec\u4ee5\u4ec0\u4e48\u7528\u6237\u542f\u52a8\u670d\u52a1\u7aef\u7684rsync\u8fdb\u7a0b\uff0c\u63a7\u5236\u7684\u662f\u670d\u52a1\u7aef\u8f6f\u4ef6\u7684\u6743\u9650\n\u800c\u914d\u7f6e\u6587\u4ef6\u4e2d\u7684uid\u63a7\u5236\u7684\u5219\u662f\u5ba2\u6237\u7aef\u7684\u6743\u9650\u3001\u5bf9\u76ee\u5f55\/egon_bak\u7684\u6743\u9650\n\n[root@remote ~]# netstat -anpt | grep rsync\ntcp        0      0 0.0.0.0:873             0.0.0.0:*               LISTEN      55535\/rsync         \ntcp6       0      0 :::873                  :::*                    LISTEN      55535\/rsync   \n\n# 2\u3001\u5982\u679c\u662fCentOS 7\uff0c\u5219\u81ea\u5e26\u542f\u52a8\u811a\u672c\u3002\n[root@remote ~]# systemctl start rsyncd  \n# \u53ef\u4ee5\u67e5\u770b\u542f\u52a8\u811a\u672c\u7684\u5185\u5bb9\uff1acat \/usr\/lib\/systemd\/system\/rsyncd.service\n# \u53ef\u4ee5\u770b\u5230\u8f83\u672c\u5468\u542f\u52a8\u65b9\u6cd5\u4e5f\u4ec5\u4ec5\u53ea\u662f\u591a\u4e86\u4e00\u4e2a&quot;--no-detach&quot;\uff0c\u8be5\u9009\u9879\u8868\u793arsync\u4e0d\u5c06\u81ea\u5df1\u4ece\u7ec8\u7aef\u4e0a\u5265\u79bb\u3002<\/code><\/pre>\n<p><strong>!!!\u5f3a\u8c03!!!<\/strong><\/p>\n<pre><code class=\"language-bash\">1\u3001\u5f53\u524d\u767b\u5f55\u7528\u6237\u662f\u8c01\uff0c\u8fdb\u7a0b\u7684\u6743\u9650\u5c31\u662f\u8c01\n\u4f8b\u5982\uff1a\n\u5f53\u524d\u767b\u7cfb\u7edf\u7684\u7528\u6237\u4e3aroot\uff0c\u6211\u4eec\u5728root\u7684\u4ea4\u4e92\u5f0f\u73af\u5883\u4e0b\u542f\u52a8\u7684\u8fdb\u7a0b\uff0c\u8be5\u8fdb\u7a0b\u8eab\u4efd\u5c31\u662froot\uff0c\u8be5\u8fdb\u7a0b\u62e5\u6709root\u7ea7\u6743\u9650\n2\u3001\u914d\u7f6e\u6587\u4ef6\u4e2d\u7684uid\u3001gid\u63a7\u5236\u7684\u662f\u8fdc\u7a0b\u8fde\u63a5\u8fc7\u6765\u7684\u5ba2\u6237\u7aef\u7684\u8eab\u4efd<\/code><\/pre>\n<p>IV\uff1a\u6d4b\u8bd5<\/p>\n<pre><code class=\"language-bash\"># 1\u3001\u5728\u672c\u5730\u62c9\u53d6\n\u51c6\u5907\uff1a\u8fdc\u7a0b\u4e3b\u673a\u521b\u5efa\u6587\u4ef6\n[root@remote ~]# echo &quot;111&quot; &gt; \/egon_bak\/1.txt \n\n\u62c9\u53d6\nrsync -az egon@192.168.12.39::xxx \/test  # \u4e0d\u6307\u5b9a\u865a\u62df\u7528\u6237\u540degon\uff0c\u5219\u9ed8\u8ba4\u4f7f\u7528\u5f53\u524d\u7528\u6237\u540d\nPassword: 123  # \u8f93\u5165\u865a\u62df\u7528\u6237egon\u7684\u5bc6\u7801123\n\n# 2\u3001\u5728\u672c\u5730\u63a8\u9001\n\u51c6\u5907\uff1a\u672c\u673a\u673a\u521b\u5efa\u6587\u4ef6\necho &quot;222&quot; &gt; \/test\/2.txt \n\n\u63a8\u9001\nrsync -az --delete \/test\/ egon@192.168.12.39::xxx \n\n# 3\u3001\u82e5\u672c\u5730\u4e0d\u60f3\u624b\u52a8\u8f93\u5bc6\u7801\uff0c\u6709\u4e24\u79cd\u65b9\u5f0f\u89e3\u51b3\n(1) \u5199\u5165\u6587\u4ef6\necho 123 &gt; \/etc\/egon.password  # \u5ba2\u6237\u7aef\u7684\u5bc6\u7801\u6587\u4ef6\u53ea\u80fd\u5199\u5165\u5bc6\u7801\nchmod 600 \/etc\/egon.password  # \u5fc5\u987b\u914d\u7f6e\u597d\u6743\u9650\nrsync -az egon@192.168.12.39::xxx \/test --password-file=\/etc\/egon.password\n\n(2) \u914d\u7f6e\u53d8\u91cf\n[root@local ~]# export RSYNC_PASSWORD=123  # \u53d8\u91cf\u540d\u662f\u56fa\u5b9a\u7684\n[root@local ~]# rsync -az egon@192.168.12.39::xxx \/test<\/code><\/pre>\n<p>V\uff1a\u9650\u901f\u4f20\u8f93<\/p>\n<p>\u6709\u4e9b\u673a\u623f\u4f1a\u9650\u5236\u673a\u5668\u7684\u6d41\u91cf\uff0c\u5728\u4f7f\u7528scp\u548crsync\u7684\u65f6\u5019\u90fd\u8981\u6ce8\u610f\uff0c\u4e3a\u4e86\u9632\u6b62\u51fa\u73b0\u65ad\u6d41\u73b0\u8c61\uff0c\u6211\u4eec\u5fc5\u987b\u5bf9\u81ea\u5df1\u7684\u6570\u636e\u4f20\u8f93\u8fdb\u884c\u4e00\u5b9a\u7684\u9650\u6d41\u63aa\u65bd\uff0c\u6162\u4e00\u70b9\u603b\u6bd4\u88ab\u6390\u4e86\u7684\u597d\u3002<\/p>\n<p><strong>rsync<\/strong>\u9650\u5236\u901f\u5ea6\u5f88\u7b80\u5355\uff0c\u6dfb\u52a0\u4e2a\u53c2\u6570\u5373\u53efbwlimit\uff0c\u540e\u9762\u7684\u503c\u662f\u591a\u5c11KBytes\/s<\/p>\n<pre><code class=\"language-bash\"># --bwlimit=100     \n\u751f\u6210\u4e00\u4e2a500M\u7684\u6587\u4ef6\n[root@local ~]# dd if=\/dev\/zero of=\/tmp\/egon.txt bs=1M count=500\n\n\u6307\u5b9a\u901f\u7387\u4f20\u8f93\uff0c-P\u663e\u793a\u540c\u6b65\u7684\u8fc7\u7a0b\u53ca\u4f20\u8f93\u65f6\u7684\u8fdb\u5ea6\u7b49\u4fe1\u606f\n[root@local ~]# rsync -avzP --bwlimit=10 \/tmp\/egon.txt egon@192.168.12.39::xxx\n\n# \u6ce8\u610f\nblocks of data are sent, then if rsync determines the transfer was too fast, it will wait before sending the next data block. The result is an average transfer rate equaling the specified limit.\n\u6570\u636e\u5757\u53d1\u9001\u540e\uff0c\u5982\u679crsync\u786e\u5b9a\u4f20\u8f93\u901f\u5ea6\u8fc7\u5feb\uff0c\u5b83\u5c06\u5728\u53d1\u9001\u4e0b\u4e00\u4e2a\u6570\u636e\u5757\u4e4b\u524d\u7b49\u5f85\u3002\u7ed3\u679c\u662f\u5e73\u5747\u4f20\u8f93\u901f\u7387\u7b49\u4e8e\u6307\u5b9a\u7684\u9650\u5236\u3002\n\u6240\u4ee5rsync\u662f\u662f\u6839\u636e\u4f20\u8f93\u5e73\u5747\u503c\u6765\u8c03\u8282\u751f\u6210\u7684\u541e\u5410\u91cf\uff0c\u4f60\u770b\u5230\u5f53\u524d\u7684\u4f20\u8f93\u6548\u7387\u6bd4\u4f60\u6307\u5b9a\u7684\u5927\u4e5f\u662f\u5f88\u6b63\u5e38\u7684\u3002<\/code><\/pre>\n<h5>4.2.2.3 \u4e24\u79cd\u8fdc\u7a0b\u6a21\u5f0f\u7684\u8ba4\u8bc1\u65b9\u5f0f\u603b\u7ed3<\/h5>\n<ul>\n<li>1\u3001\u57fa\u4e8essh\u8ba4\u8bc1<\/li>\n<\/ul>\n<pre><code class=\"language-bash\">I\uff1a\u4f7f\u7528\u7684\u662f\u8fdc\u7a0b\u4e3b\u673a\u7684\u7cfb\u7edf\u8d26\u53f7\u4e0e\u5bc6\u7801\nII\uff1a\u901a\u8fc7ssh\u96a7\u9053\u8fdb\u884c\u4f20\u8f93\n    \u9700\u8981\u8fdc\u7a0b\u4e3b\u673a\u5f00\u542fsshd\u670d\u52a1\n    \u53ea\u9700\u8981\u53cc\u65b9\u5b89\u88c5rsync\uff0c\u4e0d\u9700\u8981\u53cc\u65b9\u542f\u52a8rsync\uff0c\n    \u7c7b\u4f3c\u4e8escp\u5de5\u5177\uff0c\u540c\u6b65\u64cd\u4f5c\u4e0d\u5c40\u9650\u4e8ersync\u4e2d\u5b9a\u4e49\u7684\u540c\u6b65\u6587\u4ef6\u5939\uff0c<\/code><\/pre>\n<ul>\n<li>2\u3001\u57fa\u4e8e\u5b88\u62a4\u8fdb\u7a0b\u8ba4\u8bc1\uff0c\u5373rsync-daemon<\/li>\n<\/ul>\n<pre><code class=\"language-bash\">I\uff1a\u4f7f\u7528\u7684\u662f\u8fdc\u7a0b\u4e3b\u673a\u7684\u865a\u62df\u8d26\u53f7\uff0c\u5728rsync-daemon\u8ba4\u8bc1\u4e0b\uff0crsync\u53ef\u4ee5\u628a\u5bc6\u7801\u5199\u5165\u5230\u4e00\u4e2a\u6587\u4ef6\u4e2d\u3002\nII\uff1a\u5728rsync-daemon\u8ba4\u8bc1\u65b9\u5f0f\u4e0b\n    \u53ea\u9700\u8981\u53cc\u65b9\u5b89\u88c5rsync\uff0c\u5e76\u4e14\u8fdc\u7a0b\u4e3b\u673a\u9700\u8981\u5f00\u542frsync\u8fdb\u7a0b\uff0c\u9ed8\u8ba4\u76d1\u542ctcp\u7684873\u7aef\u53e3\n    \u540c\u6b65\u64cd\u4f5c\u53ea\u80fd\u540c\u6b65\u5230\u8fdc\u7a0b\u4e3b\u673a\u6307\u5b9a\u7684\u76ee\u5f55\u4e0b<\/code><\/pre>\n<h2>\u4e94 \u589e\u91cf\u5907\u4efd<\/h2>\n<p>rsync \u7684\u6700\u5927\u7279\u70b9\u5c31\u662f\u5b83\u53ef\u4ee5\u5b8c\u6210\u589e\u91cf\u5907\u4efd\uff0c<br \/>\n\u9664\u4e86\u6e90\u76ee\u5f55\u4e0e\u76ee\u6807\u76ee\u5f55\u76f4\u63a5\u6bd4\u8f83\uff0crsync\u8fd8\u652f\u6301\u4f7f\u7528&#8211;link-dest\u53c2\u6570\u7528\u6765\u6307\u5b9a\u540c\u6b65\u65f6\u7684\u57fa\u51c6\u76ee\u5f55\uff0c\u5373\u5c06\u6e90\u76ee\u5f55\u4e0e\u57fa\u51c6\u76ee\u5f55\u4e4b\u95f4\u53d8\u52a8\u7684\u90e8\u5206\uff0c\u540c\u6b65\u5230\u76ee\u6807\u76ee\u5f55\u3002<\/p>\n<div id=\"rml_readmorelogin_placeholder\" style=\"position:relative;\"><div id=\"rml_fade_content\" style=\"position: absolute;\r\ntop:-10em;\r\nwidth:100%;\r\nheight:10em;\r\nbackground: -webkit-linear-gradient(rgba(255, 255, 255, 0) 0%,#ffffff 100%);\r\nbackground-image: -moz-linear-gradient(rgba(255, 255, 255, 0) 0%,#ffffff 100%);\r\nbackground-image: -o-linear-gradient(rgba(255, 255, 255, 0) 0%,#ffffff 100%);\r\nbackground-image: linear-gradient(rgba(255, 255, 255, 0) 0%,#ffffff 100%);\r\nbackground-image: -ms-linear-gradient(rgba(255, 255, 255, 0) 0%,#ffffff 100%);\"><\/div><div class=\"wpf-controller aru_rml_from_in_post\" style=\"background-color:#eeeeee;border:5px solid #cce6ff;\" id=\"ARU_ReadMoreLogin_ReadMoreLoginController\"><h2 id=\"Header\">\u67e5\u770b\u66f4\u591a<\/h2><div id=\"Message\"><p>\u8054\u7cfb\u7ba1\u7406\u5458\u5fae\u4fe1tutu19192010\uff0c\u6ce8\u518c\u8d26\u53f7<\/p>\n<\/div><div id=\"StatusBarHeader\"><\/div><form id=\"ARU_ReadMoreLogin_ReadMoreLoginController\"><input name=\"post_id\" value=\"9070\" type=\"hidden\"\/><input name=\"_init_callback\" value=\"InitLogin\" type=\"hidden\"\/><input name=\"post_id\" value=\"9070\" type=\"hidden\"\/><input name=\"rt_ype\" value=\"1\" type=\"hidden\"\/><input name=\"nonce\" value=\"18489a8c01\" type=\"hidden\"\/><input name=\"_wpnonce\" value=\"b0e6d8f8bf\" type=\"hidden\"\/><input name=\"_controller\" value=\"ARU_ReadMoreLogin\\ReadMoreLoginController\" type=\"hidden\"\/><input name=\"_proxy_controller\" value=\"ARU_ReadMoreLogin\\ReadMoreLoginController\" type=\"hidden\"\/><input name=\"_view\" value=\"ARU_ReadMoreLogin\\ReadMoreLoginView\" type=\"hidden\"\/><table class=\"wpf-table-placeholder\"><tbody class=\"wpf-table-placeholder\"><tr class=\"wpf-table-placeholder\"><td class=\"wpf-table-placeholder-input\" width=\"400px\"><table class=\"wpf-table-placeholder\"><tbody class=\"wpf-table-placeholder\"><tr class=\"wpf-table-placeholder\"><th class=\"wpf-table-placeholder-input\"><label class=\"wpf-label\">Username:<\/label><\/th><\/tr><tr class=\"wpf-table-placeholder\"><td class=\"wpf-table-placeholder-input\"><input class=\"regular-text text_input\" name=\"username\" value=\"\" type=\"text\"\/><\/td><\/tr><tr class=\"wpf-table-placeholder\"><th class=\"wpf-table-placeholder-input\"><label class=\"wpf-label\">Password:<\/label><\/th><\/tr><tr class=\"wpf-table-placeholder\"><td class=\"wpf-table-placeholder-input\"><input class=\"regular-text text_input\" name=\"password\" value=\"\" type=\"password\"\/><\/td><\/tr><\/tbody><\/table><p class=\"wpf-table-placeholder submit\"><button class=\"wp_plugin_framework_ajax_button\" type=\"button\" style=\"background-color:#4D90FE;;color:#ffffff;;border:1px solid #3079ed;\" name=\"_event\" value=\"ButtonLogin\">Log in<\/button><\/p><\/td><td class=\"wpf-table-placeholder-input\"><\/td><\/tr><\/tbody><\/table><\/form><div id=\"ButtonStartRegister\"><a href=\"https:\/\/egonlin.com\/wp-login.php?action=register\">Register<\/a><\/div><div id=\"Link1\"><a href=\"https:\/\/egonlin.com\/wp-login.php?action=lostpassword\">Forgotten username or password?<\/a><\/div><div id=\"StatusBarFooter\"><\/div><\/div><\/div><div id=aru_remaining_content><\/div>","protected":false},"excerpt":{"rendered":"<p>\u4e00 \u50a8\u5907\u77e5\u8bc6 1\u3001\u4ec0\u4e48\u662f\u5907\u4efd \u5907\u4efd\u5c31\u662f\u628a\u91cd\u8981\u7684\u6570\u636e\u590d\u5236\u4e00\u4efd\u5230\u5176\u4ed6\u4f4d\u7f6e\u4fdd\u7559\u8d77\u6765 2\u3001\u4e3a\u4f55\u8981\u5907\u4efd \u56de\u987e\uff1a\u8fd0\u7ef4\u4e09\u5927\u804c [&hellip;]<\/p>\n","protected":false},"author":3,"featured_media":0,"comment_status":"closed","ping_status":"closed","sticky":false,"template":"","format":"standard","meta":[],"categories":[1],"tags":[],"_links":{"self":[{"href":"https:\/\/egonlin.com\/index.php?rest_route=\/wp\/v2\/posts\/9070"}],"collection":[{"href":"https:\/\/egonlin.com\/index.php?rest_route=\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/egonlin.com\/index.php?rest_route=\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/egonlin.com\/index.php?rest_route=\/wp\/v2\/users\/3"}],"replies":[{"embeddable":true,"href":"https:\/\/egonlin.com\/index.php?rest_route=%2Fwp%2Fv2%2Fcomments&post=9070"}],"version-history":[{"count":1,"href":"https:\/\/egonlin.com\/index.php?rest_route=\/wp\/v2\/posts\/9070\/revisions"}],"predecessor-version":[{"id":9071,"href":"https:\/\/egonlin.com\/index.php?rest_route=\/wp\/v2\/posts\/9070\/revisions\/9071"}],"wp:attachment":[{"href":"https:\/\/egonlin.com\/index.php?rest_route=%2Fwp%2Fv2%2Fmedia&parent=9070"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/egonlin.com\/index.php?rest_route=%2Fwp%2Fv2%2Fcategories&post=9070"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/egonlin.com\/index.php?rest_route=%2Fwp%2Fv2%2Ftags&post=9070"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}