{"id":57060,"date":"2025-08-15T07:20:33","date_gmt":"2025-08-14T23:20:33","guid":{"rendered":"https:\/\/www.wsisp.com\/helps\/57060.html"},"modified":"2025-08-15T07:20:33","modified_gmt":"2025-08-14T23:20:33","slug":"%e3%80%90%e8%87%aa%e5%8a%a8%e5%8c%96%e5%a4%87%e4%bb%bd%e5%85%a8%e7%bd%91%e6%9c%8d%e5%8a%a1%e5%99%a8%e6%95%b0%e6%8d%ae%e9%a1%b9%e7%9b%ae%e3%80%91","status":"publish","type":"post","link":"https:\/\/www.wsisp.com\/helps\/57060.html","title":{"rendered":"\u3010\u81ea\u52a8\u5316\u5907\u4efd\u5168\u7f51\u670d\u52a1\u5668\u6570\u636e\u9879\u76ee\u3011"},"content":{"rendered":"<p>\u81ea\u52a8\u5316\u5907\u4efd\u5168\u7f51\u670d\u52a1\u5668\u6570\u636e\u5e73\u53f0 <\/p>\n<h4>\u81ea\u52a8\u5316\u5907\u4efd\u5168\u7f51\u670d\u52a1\u5668\u6570\u636e\u5e73\u53f0<\/h4>\n<ul>\n<li>\u9879\u76ee\u8bf4\u660e<\/li>\n<li>\n<ul>\n<li>\u6982\u8ff0<\/li>\n<li>\u9879\u76ee\u7ec4\u7ec7\u65b9\u5f0f\u53ca\u65f6\u95f4<\/li>\n<\/ul>\n<\/li>\n<li>\u9879\u76ee\u80cc\u666f\u77e5\u8bc6<\/li>\n<li>\n<ul>\n<li>\u603b\u4f53\u9700\u6c42<\/li>\n<li>\u5907\u4efd\u9700\u6c42<\/li>\n<\/ul>\n<\/li>\n<li>\u9879\u76ee\u73af\u5883<\/li>\n<li>\n<ul>\n<li>\u9879\u76ee\u62d3\u6251\u7ed3\u6784<\/li>\n<li>\u8f6f\u786c\u4ef6\u73af\u5883\u6e05\u5355<\/li>\n<\/ul>\n<\/li>\n<li>\u5b9e\u65bd\u6b65\u9aa4<\/li>\n<li>\n<ul>\n<li>\u7b2c\u4e00\u6b65&#xff1a;\u73af\u5883\u642d\u5efa<\/li>\n<li>\n<ul>\n<li>1\u3001web01\u670d\u52a1\u5668\u73af\u5883\u642d\u5efa<\/li>\n<li>2\u3001nfs\u670d\u52a1\u5668\u73af\u5883\u642d\u5efa<\/li>\n<li>3\u3001backup\u670d\u52a1\u5668\u73af\u5883\u642d\u5efa<\/li>\n<\/ul>\n<\/li>\n<li>\u7b2c\u4e8c\u6b65&#xff1a;\u914d\u7f6e\u5907\u4efd\u811a\u672c<\/li>\n<li>\n<ul>\n<li>1\u3001\u914d\u7f6eweb01\u5ba2\u6237\u7aef\u672c\u5730\u5907\u4efd\u811a\u672c<\/li>\n<li>2\u3001\u914d\u7f6enfs01\u5ba2\u6237\u7aef\u672c\u5730\u5907\u4efd\u811a\u672c<\/li>\n<\/ul>\n<\/li>\n<li>\u7b2c\u4e09\u6b65&#xff1a;\u914d\u7f6e\u5b9a\u65f6\u4efb\u52a1<\/li>\n<li>\n<ul>\n<li>1\u3001web01\u670d\u52a1\u5668\u914d\u7f6e<\/li>\n<li>2\u3001nfs01\u670d\u52a1\u5668\u914d\u7f6e<\/li>\n<li>3\u3001backup\u670d\u52a1\u5668\u914d\u7f6e<\/li>\n<\/ul>\n<\/li>\n<li>\u7b2c\u56db\u6b65&#xff1a;\u6570\u636e\u4f20\u8f93\u5b8c\u6574\u6027\u9a8c\u8bc1\u4e0e\u76d1\u63a7\u544a\u8b66<\/li>\n<li>\n<ul>\n<li>1\u3001\u9a8c\u8bc1\u6570\u636e\u5b8c\u6574\u6027<\/li>\n<li>2\u3001\u914d\u7f6e\u90ae\u4ef6\u544a\u8b66<\/li>\n<\/ul>\n<\/li>\n<\/ul>\n<\/li>\n<\/ul>\n<h2>\u9879\u76ee\u8bf4\u660e<\/h2>\n<h3>\u6982\u8ff0<\/h3>\n<ul>\n<li>\u8be5\u9879\u76ee\u5171\u5206\u4e3a2\u4e2a\u5b50\u9879\u76ee&#xff0c;\u7531\u73af\u5883\u642d\u5efa\u548c\u5b9e\u65bd\u5907\u4efd\u4e24\u90e8\u5206\u7ec4\u6210<\/li>\n<li>\u8be5\u9879\u76ee\u65e8\u5728\u590d\u4e60\u5de9\u56fa\u7cfb\u7edf\u670d\u52a1\u90e8\u7f72\u4f7f\u7528\u3001shell\u7f16\u7a0b\u7b49\u77e5\u8bc6&#xff0c;\u65e8\u5728\u8ba9\u5b66\u751f\u589e\u52a0\u77e5\u8bc6\u9762&#xff0c;\u63d0\u9ad8\u9879\u76ee\u5b9e\u4e60\u7ecf\u5386&#xff0c;\u5145\u5b9e\u7b80\u5386<\/li>\n<\/ul>\n<h3>\u9879\u76ee\u7ec4\u7ec7\u65b9\u5f0f\u53ca\u65f6\u95f4<\/h3>\n<ul>\n<li>\u65f6\u95f4&#xff1a;\u5efa\u8bae\u4e00\u5468\u5185\u5b8c\u6210\u6240\u6709\u7684\u9879\u76ee\u642d\u5efa\u3001\u538b\u529b\u6d4b\u8bd5\u3001\u95ee\u9898\u603b\u7ed3<\/li>\n<li>\u65b9\u5f0f&#xff1a;\u901a\u8fc7VmWare17\u865a\u62df\u673a\u5b9e\u73b0\u5e73\u53f0\u642d\u5efa<\/li>\n<\/ul>\n<h2>\u9879\u76ee\u80cc\u666f\u77e5\u8bc6<\/h2>\n<h3>\u603b\u4f53\u9700\u6c42<\/h3>\n<ul>\n<li>\u4f01\u4e1a\u91cc\u6709\u4e00\u53f0Web\u670d\u52a1\u5668&#xff0c;\u91cc\u9762\u7684\u6570\u636e\u5f88\u91cd\u8981&#xff0c;\u4f46\u662f\u5982\u679c\u786c\u76d8\u574f\u4e86\u6570\u636e\u5c31\u4f1a\u4e22\u5931&#xff0c;\u73b0\u5728\u9886\u5bfc\u8981\u6c42\u628a\u6570\u636e\u505a\u5907\u4efd&#xff0c;\u8fd9\u6837Web\u670d\u52a1\u5668\u6570\u636e\u4e22\u5931\u5728\u53ef\u4ee5\u8fdb\u884c\u6062\u590d<\/li>\n<li>\u8981\u6c42\u5982\u4e0b&#xff1a;\n<ul>\n<li>\u6bcf\u592900\u70b9\u6574\u5728Web\u670d\u52a1\u5668\u4e0a\u6309\u65e5\u671f\u6253\u5305\u5907\u4efd\u7cfb\u7edf\u914d\u7f6e\u6587\u4ef6\u3001\u7f51\u7ad9\u7a0b\u5e8f\u76ee\u5f55\u53ca\u8bbf\u95ee\u65e5\u5fd7\u6587\u4ef6<\/li>\n<li>\u901a\u8fc7rsync\u547d\u4ee4\u63a8\u9001\u5230\u5907\u4efd\u670d\u52a1\u5668\u4e0a\u4fdd\u5b58<\/li>\n<li>\u5907\u4efd\u670d\u52a1\u5668\u5b9a\u65f6\u6e05\u9664\u65e7\u8bb0\u5f55<\/li>\n<li>\u642d\u5efa\u90ae\u4ef6\u544a\u8b66\u5e73\u53f0<\/li>\n<\/ul>\n<\/li>\n<\/ul>\n<h3>\u5907\u4efd\u9700\u6c42<\/h3>\n<ul>\n<li>\n<p>\u6240\u6709\u670d\u52a1\u5668\u7684\u5907\u4efd\u76ee\u5f55\u5fc5\u987b\u90fd\u4e3a\/backup\u3002<\/p>\n<\/li>\n<li>\n<p>\u8981\u5907\u4efd\u7684\u7cfb\u7edf\u914d\u7f6e\u6587\u4ef6\u5305\u62ec\u4f46\u4e0d\u9650\u4e8e&#xff1a;<\/p>\n<ul>\n<li>\n<p>\u5b9a\u65f6\u4efb\u52a1\u670d\u52a1\u7684\u914d\u7f6e\u6587\u4ef6&#xff08;\/var\/spool\/cron\/root&#xff09; &#xff08;\u9002\u5408Web\u548cNFS\u670d\u52a1\u5668&#xff09;\u3002<\/p>\n<\/li>\n<li>\n<p>\u5f00\u673a\u81ea\u542f\u52a8\u7684\u914d\u7f6e\u6587\u4ef6&#xff08;\/etc\/rc.local&#xff09; &#xff08;\u9002\u5408Web\u548cNFS\u670d\u52a1\u5668&#xff09;\u3002<\/p>\n<\/li>\n<li>\n<p>\u65e5\u5e38\u811a\u672c\u7684\u76ee\u5f55 &#xff08;\/server\/scripts&#xff09;\u3002<\/p>\n<\/li>\n<\/ul>\n<\/li>\n<li>\n<p>Web\u670d\u52a1\u5668\u8981\u6c42<\/p>\n<ul>\n<li>Web\u7ad9\u70b9\u76ee\u5f55\u5047\u5b9a\u4e3a\/var\/html\/www&#xff0c;\u5982\u679c\u6ca1\u6709&#xff0c;\u53ef\u4ee5\u5148\u6a21\u62df\u521b\u5efa\u3002<\/li>\n<li>Web\u670d\u52a1\u5668\u8bbf\u95ee\u65e5\u5fd7\u8def\u5f84\u5047\u5b9a\u4e3a\/app\/logs&#xff0c;\u5982\u679c\u6ca1\u6709&#xff0c;\u53ef\u4ee5\u5148\u6a21\u62df\u521b\u5efa\u3002<\/li>\n<li>Web\u670d\u52a1\u5668\u672c\u5730\u4fdd\u7559\u6253\u5305\u540e\u76847\u5929\u5907\u4efd\u6570\u636e\u5373\u53ef&#xff08;\u672c\u5730\u7559\u5b58\u4e0d\u80fd\u591a\u4e8e7\u5929&#xff0c;\u56e0\u4e3a\u6570\u636e\u592a\u591a\u786c\u76d8\u4f1a\u6ee1&#xff09;\u3002<\/li>\n<\/ul>\n<\/li>\n<li>\n<p>\u5907\u4efd\u670d\u52a1\u5668\u8981\u6c42<\/p>\n<ul>\n<li>\u4fdd\u7559\u6700\u8fd17\u5929\u6240\u6709\u5907\u4efd\u6570\u636e&#xff0c;\u4fdd\u75596\u4e2a\u6708\u5185\u6bcf\u5468\u4e00\u7684\u6240\u6709\u6570\u636e\u526f\u672c\u3002<\/li>\n<li>\u8981\u6309\u7167\u5907\u4efd\u6570\u636e\u670d\u52a1\u5668\u5185\u7f51IP\u4e3a\u76ee\u5f55\u540d\u79f0&#xff0c;\u5907\u4efd\u7684\u6587\u4ef6\u6309\u7167\u65f6\u95f4\u3001\u540d\u79f0\u4e3a\u6587\u4ef6\u540d\u79f0\u3002<\/li>\n<li>\u9700\u8981\u786e\u4fdd\u5907\u4efd\u7684\u6570\u636e\u5c3d\u91cf\u5b8c\u6574\u51c6\u786e&#xff0c;\u5728\u5907\u4efd\u670d\u52a1\u5668\u4e0a\u5bf9\u5907\u4efd\u7684\u6570\u636e\u662f\u5426\u5b8c\u6574\u8fdb\u884c\u68c0\u67e5\u3002<\/li>\n<li>\u5907\u4efd\u670d\u52a1\u5668\u6bcf\u5929\u65e9\u66688:00\u628a\u5907\u4efd\u6210\u529f\u6216\u5931\u8d25\u7ed3\u679c\u4fe1\u606f\u53d1\u9001\u5230\u7cfb\u7edf\u7ba1\u7406\u5458\u90ae\u7bb1\u91cc\u3002<\/li>\n<\/ul>\n<\/li>\n<\/ul>\n<table>\n<tr>\u670d\u52a1\u5668\u8bf4\u660e\u5907\u4efd\u76ee\u5f55\u76ee\u5f55\u8bf4\u660e\u5907\u6ce8<\/tr>\n<tbody>\n<tr>\n<td>all server<\/td>\n<td>\/backup<\/td>\n<td>\u5907\u4efd\u76ee\u5f55<\/td>\n<td>\u7edf\u4e00\u670d\u52a1\u5668\u672c\u5730\u5907\u4efd\u76ee\u5f55&#xff0c;\u4fbf\u4e8e\u7ba1\u7406<\/td>\n<\/tr>\n<tr>\n<td>all server<\/td>\n<td>\/var\/spool\/cron\/root<\/td>\n<td>\u5b9a\u65f6\u4efb\u52a1\u670d\u52a1\u914d\u7f6e\u6587\u4ef6<\/td>\n<td>\u7cfb\u7edf\u914d\u7f6e\u6587\u4ef6<\/td>\n<\/tr>\n<tr>\n<td>all server<\/td>\n<td>\/etc\/rc.local<\/td>\n<td>\u5f00\u673a\u81ea\u542f\u52a8\u914d\u7f6e\u6587\u4ef6<\/td>\n<td>\u7cfb\u7edf\u914d\u7f6e\u6587\u4ef6<\/td>\n<\/tr>\n<tr>\n<td>all server<\/td>\n<td>\/server\/scripts<\/td>\n<td>\u65e5\u5e38\u811a\u672c\u76ee\u5f55<\/td>\n<td>\u7edf\u4e00\u670d\u52a1\u5668\u672c\u5730\u811a\u672c\u76ee\u5f55&#xff0c;\u4fbf\u4e8e\u7ba1\u7406<\/td>\n<\/tr>\n<tr>\n<td>Web server<\/td>\n<td>\/var\/www\/html<\/td>\n<td>web\u670d\u52a1\u5668\u7ad9\u70b9\u76ee\u5f55<\/td>\n<td>mkdir -p \/var\/www\/html<\/td>\n<\/tr>\n<tr>\n<td>Web server<\/td>\n<td>\/app\/logs<\/td>\n<td>web\u670d\u52a1\u5668\u8bbf\u95ee\u65e5\u5fd7\u8def\u5f84<\/td>\n<td>mkdir -p \/app\/logs<\/td>\n<\/tr>\n<\/tbody>\n<\/table>\n<h2>\u9879\u76ee\u73af\u5883<\/h2>\n<h3>\u9879\u76ee\u62d3\u6251\u7ed3\u6784<\/h3>\n<p><img decoding=\"async\" src=\"https:\/\/www.wsisp.com\/helps\/wp-content\/uploads\/2025\/08\/20250814232024-689e6f38b3e76.png\" alt=\"image-20250219090920275\" \/><\/p>\n<h3>\u8f6f\u786c\u4ef6\u73af\u5883\u6e05\u5355<\/h3>\n<ul>\n<li>\u5df2\u77e53\u53f0\u670d\u52a1\u5668\u4e3b\u673a\u540d\u5206\u522b\u4e3aweb01\u3001backup\u3001nfs01&#xff0c;\u4e3b\u673a\u4fe1\u606f\u5efa\u4e0b\u8868\u3002<\/li>\n<\/ul>\n<table>\n<tr>\u4e3b\u673a\u540dIP\u5730\u5740\u786c\u4ef6\u8f6f\u4ef6<\/tr>\n<tbody>\n<tr>\n<td align=\"center\">web01<\/td>\n<td align=\"center\">192.168.83.200<\/td>\n<td align=\"center\">cpu:1\u98972\u6838\u5185 \u5b58&#xff1a;2GBHDD&#xff1a;20GB\u7f51 \u7edc&#xff1a;NAT<\/td>\n<td align=\"center\">VmWare17Centos7.9nginx1.20rsync3.1.2<\/td>\n<\/tr>\n<tr>\n<td align=\"center\">nfs01<\/td>\n<td align=\"center\">192.168.83.201<\/td>\n<td align=\"center\">cpu:1\u98972\u6838\u5185 \u5b58&#xff1a;2GBHDD&#xff1a;20GB\u7f51 \u7edc&#xff1a;NAT<\/td>\n<td align=\"center\">VmWare17Centos7.9nfsrpcbindrsync3.1.2<\/td>\n<\/tr>\n<tr>\n<td align=\"center\">backup<\/td>\n<td align=\"center\">192.168.83.202<\/td>\n<td align=\"center\">cpu:1\u98972\u6838\u5185 \u5b58&#xff1a;2GBHDD&#xff1a;20GB\u7f51 \u7edc&#xff1a;NAT<\/td>\n<td align=\"center\">VmWare17Centos7.9mailx12.5rsync3.1.2<\/td>\n<\/tr>\n<\/tbody>\n<\/table>\n<ul>\n<li>Centos7.9\u7684iso\u4e0b\u8f7d\u94fe\u63a5&#xff1a;https:\/\/mirrors.aliyun.com\/centos\/7.9.2009\/isos\/x86_64\/CentOS-7-x86_64-DVD-2207-02.iso<\/li>\n<\/ul>\n<h2>\u5b9e\u65bd\u6b65\u9aa4<\/h2>\n<h3>\u7b2c\u4e00\u6b65&#xff1a;\u73af\u5883\u642d\u5efa<\/h3>\n<h4>1\u3001web01\u670d\u52a1\u5668\u73af\u5883\u642d\u5efa<\/h4>\n<p>1.1 \u5173\u95ed\u9632\u706b\u5899\u548cselinux&#xff0c;\u8bbe\u7f6e\u4e3b\u673a\u540d<\/p>\n<p><span class=\"token punctuation\">[<\/span>root&#064;localhost ~<span class=\"token punctuation\">]<\/span><span class=\"token comment\"># systemctl stop firewalld<\/span><br \/>\n<span class=\"token punctuation\">[<\/span>root&#064;localhost ~<span class=\"token punctuation\">]<\/span><span class=\"token comment\"># systemctl disable firewalld<\/span><br \/>\n<span class=\"token punctuation\">[<\/span>root&#064;localhost ~<span class=\"token punctuation\">]<\/span><span class=\"token comment\"># sed -i &#039;s\/^SELINUX&#061;enforcing\/SELINUX&#061;disabled\/g&#039; \/etc\/selinux\/config<\/span><br \/>\n<span class=\"token punctuation\">[<\/span>root&#064;localhost ~<span class=\"token punctuation\">]<\/span><span class=\"token comment\"># hostnamectl set-hostname web01<\/span><br \/>\n<span class=\"token punctuation\">[<\/span>root&#064;localhost ~<span class=\"token punctuation\">]<\/span><span class=\"token comment\"># reboot<\/span><\/p>\n<p>1.2 \u8bbe\u7f6e\u9759\u6001ip<\/p>\n<p><span class=\"token punctuation\">[<\/span>root&#064;web01 ~<span class=\"token punctuation\">]<\/span><span class=\"token comment\"># nmtui<\/span><br \/>\n\u7f16\u8f91\u8fde\u63a5 &#8211;<span class=\"token operator\">&gt;<\/span> ens32 &#8211;<span class=\"token operator\">&gt;<\/span> \u4fee\u6539\u5185\u5bb9 &#8211;<span class=\"token operator\">&gt;<\/span> \u786e\u5b9a &#8211;<span class=\"token operator\">&gt;<\/span> \u8fd4\u56de &#8211;<span class=\"token operator\">&gt;<\/span> \u9000\u51fa<br \/>\n<span class=\"token punctuation\">[<\/span>root&#064;web01 ~<span class=\"token punctuation\">]<\/span><span class=\"token comment\"># nmcli c up ens32     # \u8fde\u63a5\u7f51\u7edc<\/span><br \/>\n<span class=\"token punctuation\">[<\/span>root&#064;web01 ~<span class=\"token punctuation\">]<\/span><span class=\"token comment\"># nmcli c reload       # \u767b\u5f55\u7f51\u7edc\u8fde\u63a5<\/span><\/p>\n<p><span class=\"token comment\"># \u5b89\u88c5\u6240\u6709\u8f6f\u4ef6<\/span><br \/>\n<span class=\"token punctuation\">[<\/span>root&#064;web01 ~<span class=\"token punctuation\">]<\/span><span class=\"token comment\"># yum install vim  tree tar net-tools rsync nfs-utils -y<\/span><\/p>\n<p>1.3 \u5b89\u88c5\u6240\u6709\u8f6f\u4ef6<\/p>\n<p><span class=\"token comment\"># \u5b89\u88c5\u6240\u6709\u8f6f\u4ef6<\/span><br \/>\n<span class=\"token punctuation\">[<\/span>root&#064;web01 ~<span class=\"token punctuation\">]<\/span><span class=\"token comment\"># yum install vim  tree tar net-tools rsync nfs-utils -y<\/span><\/p>\n<p>1.4 \u90e8\u7f72\u7f51\u7ad9\u793a\u4f8b<\/p>\n<p><span class=\"token punctuation\">[<\/span>root&#064;web01 ~<span class=\"token punctuation\">]<\/span><span class=\"token comment\"># wget -O \/etc\/yum.repos.d\/epel.repo https:\/\/mirrors.aliyun.com\/repo\/epel-7.repo<\/span><br \/>\n<span class=\"token punctuation\">[<\/span>root&#064;web01 ~<span class=\"token punctuation\">]<\/span><span class=\"token comment\"># yum  makecac<\/span><br \/>\n<span class=\"token punctuation\">[<\/span>root&#064;web01 ~<span class=\"token punctuation\">]<\/span><span class=\"token comment\"># yum  install  nginx  -y<\/span><br \/>\n<span class=\"token punctuation\">[<\/span>root&#064;web01 ~<span class=\"token punctuation\">]<\/span><span class=\"token comment\"># mkdir  -p  \/www\/sczl<\/span><br \/>\n<span class=\"token punctuation\">[<\/span>root&#064;web01 ~<span class=\"token punctuation\">]<\/span><span class=\"token comment\"># cd  \/www\/sczl<\/span><br \/>\n<span class=\"token comment\"># \u4f7f\u7528xftp\u5c06web\u6e90\u6587\u4ef6\u4e0a\u4f20\u81f3\/www\/sczl&#xff0c;\u5982\u56fe&#xff1a;<\/span><\/p>\n<p><img decoding=\"async\" src=\"https:\/\/www.wsisp.com\/helps\/wp-content\/uploads\/2025\/08\/20250814232025-689e6f393835e.png\" alt=\"\u5916\u94fe\u56fe\u7247\u8f6c\u5b58\u5931\u8d25,\u6e90\u7ad9\u53ef\u80fd\u6709\u9632\u76d7\u94fe\u673a\u5236,\u5efa\u8bae\u5c06\u56fe\u7247\u4fdd\u5b58\u4e0b\u6765\u76f4\u63a5\u4e0a\u4f20\" \/><\/p>\n<p>1.5 \u4fee\u6539nginx\u914d\u7f6e\u6587\u4ef6<\/p>\n<p><span class=\"token comment\"># \u4fee\u6539nginx\u914d\u7f6e\u6587\u4ef6<\/span><\/p>\n<p><span class=\"token punctuation\">[<\/span>root&#064;web01 ~<span class=\"token punctuation\">]<\/span><span class=\"token comment\"># vim  \/etc\/nginx\/nginx.conf     # \u4fee\u6539\u7b2c42\u884c\u4e4b\u540e\u7684\u8def\u5f84<\/span><br \/>\n<span class=\"token number\">42<\/span>         root         \/www\/sczl<span class=\"token punctuation\">;<\/span><br \/>\n<span class=\"token punctuation\">[<\/span>root&#064;web01 ~<span class=\"token punctuation\">]<\/span><span class=\"token comment\"># systemctl start nginx <\/span><br \/>\n<span class=\"token punctuation\">[<\/span>root&#064;web01 ~<span class=\"token punctuation\">]<\/span><span class=\"token comment\"># systemctl enable nginx <\/span><\/p>\n<p><span class=\"token comment\"># \u6d4b\u8bd5&#xff1a;\u6253\u5f00windows\u7aef\u6d4f\u89c8\u5668\u8f93\u5165\u670d\u52a1\u7aefIP\u5730\u5740<\/span><\/p>\n<p><img decoding=\"async\" src=\"https:\/\/www.wsisp.com\/helps\/wp-content\/uploads\/2025\/08\/20250814232025-689e6f39ce50a.png\" alt=\"\u5728\u8fd9\u91cc\u63d2\u5165\u56fe\u7247\u63cf\u8ff0\" \/><\/p>\n<h4>2\u3001nfs\u670d\u52a1\u5668\u73af\u5883\u642d\u5efa<\/h4>\n<p>2.1 \u5173\u95ed\u9632\u706b\u5899\u548cselinux&#xff0c;\u8bbe\u7f6e\u4e3b\u673a\u540d<\/p>\n<p><span class=\"token punctuation\">[<\/span>root&#064;localhost ~<span class=\"token punctuation\">]<\/span><span class=\"token comment\"># systemctl stop firewalld<\/span><br \/>\n<span class=\"token punctuation\">[<\/span>root&#064;localhost ~<span class=\"token punctuation\">]<\/span><span class=\"token comment\"># systemctl disable firewalld<\/span><br \/>\n<span class=\"token punctuation\">[<\/span>root&#064;localhost ~<span class=\"token punctuation\">]<\/span><span class=\"token comment\"># vi \/etc\/selinux\/config<\/span><br \/>\n<span class=\"token assign-left variable\">SELINUX<\/span><span class=\"token operator\">&#061;<\/span>disabled<br \/>\n<span class=\"token punctuation\">[<\/span>root&#064;localhost ~<span class=\"token punctuation\">]<\/span><span class=\"token comment\"># hostnamectl set-hostname nfs01<\/span><br \/>\n<span class=\"token punctuation\">[<\/span>root&#064;localhost ~<span class=\"token punctuation\">]<\/span><span class=\"token comment\"># reboot<\/span><\/p>\n<p>2.2 \u8bbe\u7f6e\u9759\u6001ip<\/p>\n<p><span class=\"token punctuation\">[<\/span>root&#064;nfs01 ~<span class=\"token punctuation\">]<\/span><span class=\"token comment\"># vi  \/etc\/sysconfig\/network-scripts\/ifcfg-ens32<\/span><br \/>\n<span class=\"token comment\"># Generated by dracut initrd<\/span><br \/>\n<span class=\"token assign-left variable\">NAME<\/span><span class=\"token operator\">&#061;<\/span><span class=\"token string\">&#034;ens32&#034;<\/span><br \/>\n<span class=\"token assign-left variable\">DEVICE<\/span><span class=\"token operator\">&#061;<\/span><span class=\"token string\">&#034;ens32&#034;<\/span><br \/>\n<span class=\"token assign-left variable\">ONBOOT<\/span><span class=\"token operator\">&#061;<\/span>yes<br \/>\n<span class=\"token assign-left variable\">NETBOOT<\/span><span class=\"token operator\">&#061;<\/span>yes<br \/>\n<span class=\"token assign-left variable\">UUID<\/span><span class=\"token operator\">&#061;<\/span><span class=\"token string\">&#034;42fc4d6c-82c6-4cea-b683-1ad03460b5fe&#034;<\/span><br \/>\n<span class=\"token assign-left variable\">IPV6INIT<\/span><span class=\"token operator\">&#061;<\/span>yes<br \/>\n<span class=\"token assign-left variable\">BOOTPROTO<\/span><span class=\"token operator\">&#061;<\/span>none<br \/>\n<span class=\"token assign-left variable\">IPADDR<\/span><span class=\"token operator\">&#061;<\/span><span class=\"token string\">&#034;192.168.83.201&#034;<\/span>    <span class=\"token comment\"># ip<\/span><br \/>\n<span class=\"token assign-left variable\">NETMASK<\/span><span class=\"token operator\">&#061;<\/span><span class=\"token string\">&#034;255.255.255.0&#034;<\/span><br \/>\n<span class=\"token assign-left variable\">GATEWAY<\/span><span class=\"token operator\">&#061;<\/span><span class=\"token string\">&#034;192.168.83.2&#034;<\/span><br \/>\n<span class=\"token assign-left variable\">DNS1<\/span><span class=\"token operator\">&#061;<\/span><span class=\"token string\">&#034;114.114.114.114&#034;<\/span><br \/>\n<span class=\"token assign-left variable\">TYPE<\/span><span class=\"token operator\">&#061;<\/span>Ethernet<\/p>\n<p><span class=\"token punctuation\">[<\/span>root&#064;nfs01 ~<span class=\"token punctuation\">]<\/span><span class=\"token comment\"># systemctl restart network<\/span><\/p>\n<p><span class=\"token punctuation\">[<\/span>root&#064;nfs01 ~<span class=\"token punctuation\">]<\/span><span class=\"token comment\"># yum install vim  tree tar net-tools rsync -y<\/span><\/p>\n<p>2.3 \u5b89\u88c5\u6240\u9700\u8f6f\u4ef6<\/p>\n<p><span class=\"token punctuation\">[<\/span>root&#064;nfs01 ~<span class=\"token punctuation\">]<\/span><span class=\"token comment\"># yum install vim  tree tar net-tools rsync -y<\/span><\/p>\n<p>2.4 \u90e8\u7f72\u5171\u4eab\u5b58\u50a8&#xff0c;nfs01\u4e3a\u670d\u52a1\u7aef&#xff0c;web01\u4e3a\u5ba2\u6237\u7aef<\/p>\n<p><span class=\"token comment\"># nfs01\u670d\u52a1\u7aef\u64cd\u4f5c<\/span><br \/>\n<span class=\"token punctuation\">[<\/span>root&#064;nfs01 ~<span class=\"token punctuation\">]<\/span><span class=\"token comment\"># yum  install  rpcbind  -y<\/span><br \/>\n<span class=\"token punctuation\">[<\/span>root&#064;nfs01 ~<span class=\"token punctuation\">]<\/span><span class=\"token comment\"># yum  install  nfs-utils  -y<\/span><br \/>\n<span class=\"token punctuation\">[<\/span>root&#064;nfs01 ~<span class=\"token punctuation\">]<\/span><span class=\"token comment\"># mkdir  \/nfsfile<\/span><br \/>\n<span class=\"token punctuation\">[<\/span>root&#064;nfs01 ~<span class=\"token punctuation\">]<\/span><span class=\"token comment\"># echo  &#034;welcome to www.dyy.com&#034; &gt; \/nfsfile\/readme<\/span><br \/>\n<span class=\"token punctuation\">[<\/span>root&#064;nfs01 ~<span class=\"token punctuation\">]<\/span><span class=\"token comment\"># chmod  -Rf  777  \/nfsfile<\/span><br \/>\n<span class=\"token punctuation\">[<\/span>root&#064;nfs01 ~<span class=\"token punctuation\">]<\/span><span class=\"token comment\"># vim  \/etc\/exports    # \u7f16\u8f91nfs\u914d\u7f6e\u6587\u4ef6&#xff0c;\u6dfb\u52a0\u5982\u4e0b\u5185\u5bb9<\/span><br \/>\n\/nfsfile        <span class=\"token number\">192.168<\/span>.83.0\/24<span class=\"token punctuation\">(<\/span>rw,sync,all_squash<span class=\"token punctuation\">)<\/span><\/p>\n<p><span class=\"token punctuation\">[<\/span>root&#064;nfs01 ~<span class=\"token punctuation\">]<\/span><span class=\"token comment\"># systemctl start  rpcbind<\/span><br \/>\n<span class=\"token punctuation\">[<\/span>root&#064;nfs01 ~<span class=\"token punctuation\">]<\/span><span class=\"token comment\"># systemctl enable  rpcbind<\/span><br \/>\n<span class=\"token punctuation\">[<\/span>root&#064;nfs01 ~<span class=\"token punctuation\">]<\/span><span class=\"token comment\"># systemctl start  nfs-server<\/span><br \/>\n<span class=\"token punctuation\">[<\/span>root&#064;nfs01 ~<span class=\"token punctuation\">]<\/span><span class=\"token comment\"># systemctl enable  nfs-server<\/span><\/p>\n<p><span class=\"token comment\"># web01\u5ba2\u6237\u7aef\u64cd\u4f5c&#xff1a;<\/span><br \/>\n<span class=\"token punctuation\">[<\/span>root&#064;web01 ~<span class=\"token punctuation\">]<\/span><span class=\"token comment\"># showmount  -e  192.168.83.201 # \u68c0\u6d4b<\/span><br \/>\nExport list <span class=\"token keyword\">for<\/span> <span class=\"token number\">192.168<\/span>.83.201:<br \/>\n\/nfsfile <span class=\"token number\">192.168<\/span>.83.0\/24<br \/>\n<span class=\"token punctuation\">[<\/span>root&#064;web01 ~<span class=\"token punctuation\">]<\/span><span class=\"token comment\"># mkdir  \/web_nfs<\/span><br \/>\n<span class=\"token punctuation\">[<\/span>root&#064;web01 ~<span class=\"token punctuation\">]<\/span><span class=\"token comment\"># mount -t nfs  192.168.83.201:\/nfsfile  \/web_nfs<\/span><br \/>\n<span class=\"token punctuation\">[<\/span>root&#064;web01 ~<span class=\"token punctuation\">]<\/span><span class=\"token comment\"># cd  \/web_nfs<\/span><br \/>\n<span class=\"token punctuation\">[<\/span>root&#064;web01 web_nfs<span class=\"token punctuation\">]<\/span><span class=\"token comment\"># ls<\/span><br \/>\nreadme<br \/>\n<span class=\"token punctuation\">[<\/span>root&#064;web01 web_nfs<span class=\"token punctuation\">]<\/span><span class=\"token comment\"># cd  ~<\/span><br \/>\n<span class=\"token punctuation\">[<\/span>root&#064;web01 web_nfs<span class=\"token punctuation\">]<\/span><span class=\"token comment\"># vim  \/etc\/fstab       # \u6c38\u4e45\u6302\u8f7d<\/span><br \/>\n<span class=\"token number\">192.168<\/span>.83.201:\/nfsfile   \/web_nfs   nfs    defaults    <span class=\"token number\">0<\/span>    <span class=\"token number\">0<\/span><\/p>\n<p><span class=\"token punctuation\">[<\/span>root&#064;web01 web_nfs<span class=\"token punctuation\">]<\/span><span class=\"token comment\"># mount  -a<\/span><br \/>\n<span class=\"token punctuation\">[<\/span>root&#064;web01 web_nfs<span class=\"token punctuation\">]<\/span><span class=\"token comment\"># df  -h<\/span><br \/>\nFilesystem               Size  Used Avail Use% Mounted on<br \/>\ndevtmpfs                 900M     <span class=\"token number\">0<\/span>  900M   <span class=\"token number\">0<\/span>% \/dev<br \/>\ntmpfs                    910M     <span class=\"token number\">0<\/span>  910M   <span class=\"token number\">0<\/span>% \/dev\/shm<br \/>\ntmpfs                    910M  <span class=\"token number\">9<\/span>.4M  901M   <span class=\"token number\">2<\/span>% \/run<br \/>\ntmpfs                    910M     <span class=\"token number\">0<\/span>  910M   <span class=\"token number\">0<\/span>% \/sys\/fs\/cgroup<br \/>\n\/dev\/sda3                 17G  <span class=\"token number\">1<\/span>.9G   16G  <span class=\"token number\">12<\/span>% \/<br \/>\n\/dev\/sda1               1014M  144M  871M  <span class=\"token number\">15<\/span>% \/boot<br \/>\ntmpfs                    182M     <span class=\"token number\">0<\/span>  182M   <span class=\"token number\">0<\/span>% \/run\/user\/0<br \/>\n<span class=\"token number\">192.168<\/span>.83.201:\/nfsfile   17G  <span class=\"token number\">1<\/span>.6G   16G   <span class=\"token number\">9<\/span>% \/web_nfs<\/p>\n<h4>3\u3001backup\u670d\u52a1\u5668\u73af\u5883\u642d\u5efa<\/h4>\n<p>3.1 \u5173\u95ed\u9632\u706b\u5899\u548cselinux&#xff0c;\u8bbe\u7f6e\u4e3b\u673a\u540d<\/p>\n<p><span class=\"token punctuation\">[<\/span>root&#064;localhost ~<span class=\"token punctuation\">]<\/span><span class=\"token comment\"># systemctl stop firewalld<\/span><br \/>\n<span class=\"token punctuation\">[<\/span>root&#064;localhost ~<span class=\"token punctuation\">]<\/span><span class=\"token comment\"># systemctl disable firewalld<\/span><br \/>\n<span class=\"token punctuation\">[<\/span>root&#064;localhost ~<span class=\"token punctuation\">]<\/span><span class=\"token comment\"># vi \/etc\/selinux\/config<\/span><br \/>\n<span class=\"token assign-left variable\">SELINUX<\/span><span class=\"token operator\">&#061;<\/span>disabled<br \/>\n<span class=\"token punctuation\">[<\/span>root&#064;localhost ~<span class=\"token punctuation\">]<\/span><span class=\"token comment\"># hostnamectl set-hostname backup<\/span><br \/>\n<span class=\"token punctuation\">[<\/span>root&#064;localhost ~<span class=\"token punctuation\">]<\/span><span class=\"token comment\"># reboot<\/span><\/p>\n<p>3.2 \u8bbe\u7f6e\u9759\u6001ip<\/p>\n<p><span class=\"token punctuation\">[<\/span>root&#064;backup ~<span class=\"token punctuation\">]<\/span><span class=\"token comment\"># vi  \/etc\/sysconfig\/network-scripts\/ifcfg-ens32<\/span><br \/>\n<span class=\"token comment\"># Generated by dracut initrd<\/span><br \/>\n<span class=\"token assign-left variable\">NAME<\/span><span class=\"token operator\">&#061;<\/span><span class=\"token string\">&#034;ens32&#034;<\/span><br \/>\n<span class=\"token assign-left variable\">DEVICE<\/span><span class=\"token operator\">&#061;<\/span><span class=\"token string\">&#034;ens32&#034;<\/span><br \/>\n<span class=\"token assign-left variable\">ONBOOT<\/span><span class=\"token operator\">&#061;<\/span>yes<br \/>\n<span class=\"token assign-left variable\">NETBOOT<\/span><span class=\"token operator\">&#061;<\/span>yes<br \/>\n<span class=\"token assign-left variable\">UUID<\/span><span class=\"token operator\">&#061;<\/span><span class=\"token string\">&#034;2deb6621-2f08-4460-a97b-15b50c47221d&#034;<\/span><br \/>\n<span class=\"token assign-left variable\">IPV6INIT<\/span><span class=\"token operator\">&#061;<\/span>yes<br \/>\n<span class=\"token assign-left variable\">BOOTPROTO<\/span><span class=\"token operator\">&#061;<\/span>none<br \/>\n<span class=\"token assign-left variable\">IPADDR<\/span><span class=\"token operator\">&#061;<\/span><span class=\"token string\">&#034;192.168.83.202&#034;<\/span>     <span class=\"token comment\"># ip<\/span><br \/>\n<span class=\"token assign-left variable\">NETMASK<\/span><span class=\"token operator\">&#061;<\/span><span class=\"token string\">&#034;255.255.255.0&#034;<\/span><br \/>\n<span class=\"token assign-left variable\">GATEWAY<\/span><span class=\"token operator\">&#061;<\/span><span class=\"token string\">&#034;192.168.83.2&#034;<\/span><br \/>\n<span class=\"token assign-left variable\">DNS1<\/span><span class=\"token operator\">&#061;<\/span><span class=\"token string\">&#034;114.114.114.114&#034;<\/span><br \/>\n<span class=\"token assign-left variable\">TYPE<\/span><span class=\"token operator\">&#061;<\/span>Ethernet<\/p>\n<p><span class=\"token punctuation\">[<\/span>root&#064;backup ~<span class=\"token punctuation\">]<\/span><span class=\"token comment\"># systemctl restart network<\/span><\/p>\n<p><span class=\"token punctuation\">[<\/span>root&#064;backup ~<span class=\"token punctuation\">]<\/span><span class=\"token comment\"># yum install vim  tree tar net-tools rsync mailx -y<\/span><\/p>\n<p>3.3 \u5b89\u88c5\u6240\u9700\u8f6f\u4ef6<\/p>\n<p><span class=\"token punctuation\">[<\/span>root&#064;backup ~<span class=\"token punctuation\">]<\/span><span class=\"token comment\"># yum install vim  tree tar net-tools rsync mailx -y<\/span><\/p>\n<p>3.4 \u4fee\u6539rsync\u914d\u7f6e\u6587\u4ef6<\/p>\n<p><span class=\"token comment\"># \u6ce8\u610f&#xff1a;\u914d\u7f6e\u6587\u4ef6\u4e2d\u4e0b\u5217\u6ce8\u91ca\u8981\u5220\u9664 <\/span><br \/>\n<span class=\"token punctuation\">[<\/span>root&#064;backup ~<span class=\"token punctuation\">]<\/span><span class=\"token comment\"># vim \/etc\/rsyncd.conf<\/span><br \/>\nuid <span class=\"token operator\">&#061;<\/span> <span class=\"token function\">rsync<\/span><span class=\"token comment\"># \u7528\u6237<\/span><br \/>\ngid <span class=\"token operator\">&#061;<\/span> <span class=\"token function\">rsync<\/span><span class=\"token comment\"># \u7ec4<\/span><br \/>\nuse <span class=\"token function\">chroot<\/span> <span class=\"token operator\">&#061;<\/span> no<span class=\"token comment\"># \u7a0b\u5e8f\u5b89\u5168\u8bbe\u7f6e<\/span><br \/>\nmax connections <span class=\"token operator\">&#061;<\/span> <span class=\"token number\">200<\/span><span class=\"token comment\"># \u5ba2\u6237\u7aef\u8fde\u63a5\u6570<\/span><br \/>\n<span class=\"token function\">timeout<\/span> <span class=\"token operator\">&#061;<\/span> <span class=\"token number\">300<\/span><span class=\"token comment\"># \u8d85\u65f6\u65f6\u95f4<\/span><br \/>\npid <span class=\"token function\">file<\/span> <span class=\"token operator\">&#061;<\/span> \/var\/run\/rsyncd.pid<span class=\"token comment\"># \u8fdb\u7a0b\u53f7\u6587\u4ef6\u4f4d\u7f6e<\/span><br \/>\nlock <span class=\"token function\">file<\/span> <span class=\"token operator\">&#061;<\/span> \/var\/run\/rsync.lock<span class=\"token comment\"># \u8fdb\u7a0b\u9501<\/span><br \/>\nlog <span class=\"token function\">file<\/span> <span class=\"token operator\">&#061;<\/span> \/var\/log\/rsyncd.log<span class=\"token comment\"># \u65e5\u5fd7\u6587\u4ef6<\/span><br \/>\nfake super <span class=\"token operator\">&#061;<\/span> <span class=\"token function\">yes<\/span> <span class=\"token comment\"># \u65e0\u9700rsync\u4ee5root\u8eab\u4efd\u8fd0\u884c&#xff0c;\u5141\u8bb8\u63a5\u53d7\u6570\u636e<\/span><\/p>\n<p><span class=\"token punctuation\">[<\/span>backup<span class=\"token punctuation\">]<\/span><br \/>\n        path <span class=\"token operator\">&#061;<\/span> \/backup<span class=\"token comment\"># \u76ee\u5f55<\/span><br \/>\n        ignore errors<span class=\"token comment\"># \u6709\u9519\u8bef\u65f6\u5ffd\u7565<\/span><br \/>\n        <span class=\"token builtin class-name\">read<\/span> only <span class=\"token operator\">&#061;<\/span> <span class=\"token boolean\">false<\/span><span class=\"token comment\"># \u53ef\u8bfb\u53ef\u5199<\/span><br \/>\n        list <span class=\"token operator\">&#061;<\/span> <span class=\"token boolean\">false<\/span>            <span class=\"token comment\"># \u963b\u6b62\u8fdc\u7a0b\u5217\u8868<\/span><br \/>\n        hosts allow <span class=\"token operator\">&#061;<\/span> <span class=\"token number\">192.168<\/span>.83.0\/24<span class=\"token comment\"># \u5141\u8bb8IP<\/span><br \/>\n        hosts deny <span class=\"token operator\">&#061;<\/span> <span class=\"token number\">0.0<\/span>.0.0\/32<span class=\"token comment\"># \u7981\u6b62IP<\/span><br \/>\n        auth <span class=\"token function\">users<\/span> <span class=\"token operator\">&#061;<\/span> <span class=\"token function\">rsync<\/span><span class=\"token comment\"># \u7528\u4e8e\u8ba4\u8bc1\u7684\u8d26\u6237<\/span><br \/>\n        secrets <span class=\"token function\">file<\/span> <span class=\"token operator\">&#061;<\/span> \/etc\/rsync.password<span class=\"token comment\"># \u5b58\u653e\u7528\u6237\u548c\u5bc6\u7801\u7684\u6587\u4ef6<\/span><\/p>\n<p>3.5 \u6839\u636e\u914d\u7f6e\u6587\u4ef6\u8bbe\u7f6e<\/p>\n<p><span class=\"token comment\"># \u521b\u5efarsync\u8d26\u6237\u53ca\u5171\u4eab\u76ee\u5f55\u5e76\u4fee\u6539\u76ee\u5f55\u5c5e\u4e3b\u4e3arsync<\/span><br \/>\n<span class=\"token punctuation\">[<\/span>root&#064;backup ~<span class=\"token punctuation\">]<\/span><span class=\"token comment\"># useradd -M -s \/sbin\/nologin rsync<\/span><br \/>\n<span class=\"token punctuation\">[<\/span>root&#064;backup ~<span class=\"token punctuation\">]<\/span><span class=\"token comment\"># mkdir \/backup<\/span><br \/>\n<span class=\"token punctuation\">[<\/span>root&#064;backup ~<span class=\"token punctuation\">]<\/span><span class=\"token comment\"># chown -R rsync \/backup<\/span><\/p>\n<p><span class=\"token comment\"># \u5f00\u673a\u5e76\u542f\u52a8\u670d\u52a1<\/span><br \/>\n<span class=\"token punctuation\">[<\/span>root&#064;backup ~<span class=\"token punctuation\">]<\/span><span class=\"token comment\"># systemctl enable &#8211;now rsyncd<\/span><br \/>\n<span class=\"token punctuation\">[<\/span>root&#064;backup ~<span class=\"token punctuation\">]<\/span><span class=\"token comment\"># ps -ef | grep rsync<\/span><br \/>\nroot  <span class=\"token number\">1333<\/span>   <span class=\"token number\">1<\/span>  <span class=\"token number\">0<\/span> <span class=\"token number\">15<\/span>:09 ?      00:00:00 \/usr\/bin\/rsync <span class=\"token parameter variable\">&#8211;daemon<\/span> &#8211;no-detach<br \/>\nroot  <span class=\"token number\">1335<\/span>   <span class=\"token number\">1261<\/span>  <span class=\"token number\">0<\/span> <span class=\"token number\">15<\/span>:09 pts\/0  00:00:00 <span class=\"token function\">grep<\/span> <span class=\"token parameter variable\">&#8211;color<\/span><span class=\"token operator\">&#061;<\/span>auto <span class=\"token function\">rsync<\/span><\/p>\n<p><span class=\"token comment\"># \u521b\u5efarsync\u865a\u62df\u8d26\u6237\u540d\u548c\u5bc6\u7801,\u5e76\u8d4b\u4e88\u5bc6\u7801\u6587\u4ef6600\u6743\u9650<\/span><br \/>\n<span class=\"token punctuation\">[<\/span>root&#064;backup ~<span class=\"token punctuation\">]<\/span><span class=\"token comment\"># echo &#034;rsync:rsync123&#034; &gt; \/etc\/rsync.password<\/span><br \/>\n<span class=\"token punctuation\">[<\/span>root&#064;backup ~<span class=\"token punctuation\">]<\/span><span class=\"token comment\"># chmod 600 \/etc\/rsync.password<\/span><\/p>\n<h3>\u7b2c\u4e8c\u6b65&#xff1a;\u914d\u7f6e\u5907\u4efd\u811a\u672c<\/h3>\n<h4>1\u3001\u914d\u7f6eweb01\u5ba2\u6237\u7aef\u672c\u5730\u5907\u4efd\u811a\u672c<\/h4>\n<p>1.1 web01\u5ba2\u6237\u7aef\u4e3b\u673a\u9700\u8981\u6253\u5305\u5907\u4efd\u7684\u5185\u5bb9&#xff1a;<\/p>\n<p><span class=\"token punctuation\">[<\/span>root&#064;web01 nginx<span class=\"token punctuation\">]<\/span><span class=\"token comment\"># tree  \/var\/log\/nginx   # \u65e5\u5fd7<\/span><br \/>\n\/var\/log\/nginx<br \/>\n\u251c\u2500\u2500 access.log<br \/>\n\u2514\u2500\u2500 error.log<br \/>\n<span class=\"token number\">0<\/span> directories, <span class=\"token number\">2<\/span> files<\/p>\n<p><span class=\"token punctuation\">[<\/span>root&#064;web01 nginx<span class=\"token punctuation\">]<\/span><span class=\"token comment\"># tree \/www      # \u7f51\u7ad9\u4e3b\u6570\u636e<\/span><br \/>\n\/www<br \/>\n\u251c\u2500\u2500 sczl<br \/>\n\u2502   \u251c\u2500\u2500 css<br \/>\n\u2502   \u2502   \u251c\u2500\u2500 animate.min.css<br \/>\n\u2502   \u2502   \u251c\u2500\u2500 common.min.css<br \/>\n\u2026\u2026\u2026\u2026\u2026\u2026\u2026\u2026\u2026\u2026\u2026\u2026<\/p>\n<p><span class=\"token comment\"># \u4ee5\u53ca\u5b9a\u65f6\u4efb\u52a1\u548c\u5907\u4efd\u811a\u672c\u6e90\u6587\u4ef6 &#xff1a;\/var\/spool\/cron\/root\u3001\/etc\/rc.local\u3001\/server\/scripts<\/span><\/p>\n<p>1.2 \u7f16\u5199\u5907\u4efdweb01\u670d\u52a1\u5668\u7684\u811a\u672c<\/p>\n<p><span class=\"token punctuation\">[<\/span>root&#064;web01 ~<span class=\"token punctuation\">]<\/span><span class=\"token comment\"># mkdir  \/backup<\/span><br \/>\n<span class=\"token punctuation\">[<\/span>root&#064;web01 ~<span class=\"token punctuation\">]<\/span><span class=\"token comment\"># mkdir -p  \/server\/scripts<\/span><\/p>\n<p><span class=\"token punctuation\">[<\/span>root&#064;web01 ~<span class=\"token punctuation\">]<\/span><span class=\"token comment\"># vim  \/server\/scripts\/backup.sh<\/span><\/p>\n<p><span class=\"token comment\">#!\/bin\/bash<\/span><br \/>\n<span class=\"token comment\"># Date:2025-8-12<\/span><br \/>\n<span class=\"token comment\"># Author:xiaoxiong<\/span><br \/>\n<span class=\"token comment\"># Mail:110&#064;qq.com<\/span><br \/>\n<span class=\"token comment\"># Function: \u5907\u4efdweb01\u670d\u52a1\u5668\/var\/log\/nginx&#xff0c;\/www <\/span><br \/>\n<span class=\"token comment\"># Version: V1.0<\/span><\/p>\n<p><span class=\"token comment\"># \u5b9a\u4e49\u65f6\u95f4\u65b9\u5f0f  <\/span><br \/>\n<span class=\"token assign-left variable\">Date<\/span><span class=\"token operator\">&#061;<\/span><span class=\"token variable\"><span class=\"token variable\">$(<\/span><span class=\"token function\">date<\/span> &#043;%F_Week0%w<span class=\"token variable\">)<\/span><\/span><br \/>\n<span class=\"token comment\"># \u83b7\u53d6IP<\/span><br \/>\n<span class=\"token assign-left variable\">Host_IP<\/span><span class=\"token operator\">&#061;<\/span><span class=\"token variable\"><span class=\"token variable\">$(<\/span><span class=\"token function\">ifconfig<\/span> ens32 <span class=\"token operator\">|<\/span> <span class=\"token function\">awk<\/span> <span class=\"token string\">&#039;\/inet \/ {print $2}&#039;<\/span><span class=\"token variable\">)<\/span><\/span><br \/>\n<span class=\"token comment\"># \u672c\u5730\u5907\u4efd\u8def\u5f84<\/span><br \/>\n<span class=\"token assign-left variable\">Backup_Dir<\/span><span class=\"token operator\">&#061;<\/span><span class=\"token string\">&#034;\/backup\/&#034;<\/span><br \/>\n<span class=\"token comment\"># \u5907\u4efd\u670d\u52a1\u5668\u7684IP<\/span><br \/>\n<span class=\"token assign-left variable\">Backup_Server_IP<\/span><span class=\"token operator\">&#061;<\/span><span class=\"token number\">192.168<\/span>.83.202   <\/p>\n<p><span class=\"token comment\"># \u521b\u5efa\u6307\u5b9a\u76ee\u5f55\u548cIP\u7684\u76ee\u5f55<\/span><br \/>\n<span class=\"token punctuation\">[<\/span> <span class=\"token operator\">!<\/span> <span class=\"token parameter variable\">-d<\/span> <span class=\"token variable\">$Backup_Dir<\/span>\/<span class=\"token variable\">$Host_IP<\/span> <span class=\"token punctuation\">]<\/span> <span class=\"token operator\">&amp;&amp;<\/span> <span class=\"token function\">mkdir<\/span> <span class=\"token parameter variable\">-p<\/span> <span class=\"token variable\">$Backup_Dir<\/span>\/<span class=\"token variable\">$Host_IP<\/span><\/p>\n<p><span class=\"token comment\"># \u8f93\u51fa\u63d0\u793a\u4fe1\u606f<\/span><br \/>\n<span class=\"token builtin class-name\">echo<\/span> <span class=\"token variable\">${Date}<\/span> <span class=\"token variable\">${Host_IP}<\/span> start backup <span class=\"token punctuation\">..<\/span><span class=\"token punctuation\">..<\/span><span class=\"token punctuation\">..<\/span><\/p>\n<p><span class=\"token comment\"># \u6309\u8981\u6c42\u6253\u5305\u5907\u4efd\u6240\u6709\u672c\u5730\u91cd\u8981\u6587\u4ef6<\/span><br \/>\n<span class=\"token builtin class-name\">cd<\/span> \/ <span class=\"token operator\">&amp;&amp;<\/span><span class=\"token punctuation\">\\\\<\/span><br \/>\n<span class=\"token function\">tar<\/span> cf <span class=\"token variable\">${Backup_Dir}<\/span><span class=\"token variable\">${Host_IP}<\/span>\/sys_file_bak_<span class=\"token variable\">${Date}<\/span>_tar.gz var\/spool\/cron <span class=\"token operator\">&amp;&amp;<\/span><span class=\"token punctuation\">\\\\<\/span><br \/>\n<span class=\"token function\">tar<\/span> rf <span class=\"token variable\">${Backup_Dir}<\/span><span class=\"token variable\">${Host_IP}<\/span>\/sys_file_bak_<span class=\"token variable\">${Date}<\/span>_tar.gz etc\/rc.d\/rc.local <span class=\"token operator\">&amp;&amp;<\/span><span class=\"token punctuation\">\\\\<\/span><br \/>\n<span class=\"token function\">tar<\/span> rf <span class=\"token variable\">${Backup_Dir}<\/span><span class=\"token variable\">${Host_IP}<\/span>\/sys_file_bak_<span class=\"token variable\">${Date}<\/span>_tar.gz server\/scripts\/ <span class=\"token operator\">&amp;&amp;<\/span><span class=\"token punctuation\">\\\\<\/span><br \/>\n<span class=\"token function\">tar<\/span> zcf <span class=\"token variable\">$Backup_Dir<\/span><span class=\"token variable\">$Host_IP<\/span>\/www_<span class=\"token variable\">${Date}<\/span>_tar.gz www\/ <span class=\"token operator\">&amp;&amp;<\/span><span class=\"token punctuation\">\\\\<\/span><br \/>\n<span class=\"token function\">tar<\/span> zcf <span class=\"token variable\">$Backup_Dir<\/span><span class=\"token variable\">$Host_IP<\/span>\/nginx_logs_<span class=\"token variable\">${Date}<\/span>_tar.gz var\/log\/nginx\/ <span class=\"token operator\">&amp;&amp;<\/span><span class=\"token punctuation\">\\\\<\/span><\/p>\n<p><span class=\"token comment\"># \u7ed9\u6240\u6709\u5907\u4efd\u7684\u538b\u7f29\u6587\u4ef6\u5efa\u7acb\u6307\u7eb9&#xff0c;\u653e\u5165\u6307\u7eb9\u5e93flag&#xff0c;\u540e\u9762\u4f1a\u9a8c\u8bc1\u5b8c\u6574\u6027<\/span><br \/>\n<span class=\"token function\">find<\/span> <span class=\"token variable\">${Backup_Dir<span class=\"token operator\">:-<\/span><span class=\"token operator\">\/<\/span>tmp}<\/span> <span class=\"token parameter variable\">-type<\/span> f <span class=\"token parameter variable\">-name<\/span> <span class=\"token string\">&#034;*<span class=\"token variable\">${Date}<\/span>_tar.gz&#034;<\/span> <span class=\"token operator\">|<\/span><span class=\"token function\">xargs<\/span> md5sum <span class=\"token operator\">&gt;<\/span><span class=\"token variable\">$Backup_Dir<\/span>\/<span class=\"token variable\">$Host_IP<\/span>\/<span class=\"token variable\">${Date}<\/span>.flag<\/p>\n<p><span class=\"token comment\"># \u628a\u5907\u4efd\u63a8\u9001\u5230\u5907\u4efd\u670d\u52a1\u5668<\/span><br \/>\n<span class=\"token function\">rsync<\/span> <span class=\"token parameter variable\">-az<\/span> <span class=\"token variable\">$Backup_Dir<\/span> rsync&#064;<span class=\"token variable\">${Backup_Server_IP}<\/span>::backup &#8211;password-file<span class=\"token operator\">&#061;<\/span>\/etc\/rsync.password<\/p>\n<p><span class=\"token comment\"># \u5220\u96647\u5929\u4ee5\u524d\u7684\u6240\u6709\u672c\u5730\u5907\u4efd\u6570\u636e<\/span><br \/>\n<span class=\"token function\">find<\/span> <span class=\"token variable\">${Backup_Dir<span class=\"token operator\">:-<\/span><span class=\"token operator\">\/<\/span>tmp}<\/span> <span class=\"token parameter variable\">-type<\/span> f <span class=\"token parameter variable\">-name<\/span> <span class=\"token string\">&#034;*.tar.gz&#034;<\/span> <span class=\"token parameter variable\">-a<\/span> <span class=\"token parameter variable\">-name<\/span> <span class=\"token string\">&#034;*flag*&#034;<\/span> <span class=\"token parameter variable\">-mtime<\/span> &#043;7<span class=\"token operator\">|<\/span><span class=\"token function\">xargs<\/span> <span class=\"token function\">rm<\/span> <span class=\"token parameter variable\">-f<\/span><\/p>\n<p><span class=\"token builtin class-name\">echo<\/span> <span class=\"token string\">&#034;Local backup successful, the backup files have been pushed to the backup server&#034;<\/span><\/p>\n<p><span class=\"token punctuation\">[<\/span>root&#064;web01 ~<span class=\"token punctuation\">]<\/span><span class=\"token comment\"># vim \/etc\/rsync.password     # \u5ba2\u6237\u7aef\u5efa\u7acb\u8ba4\u8bc1\u7684\u6587\u4ef6\u5bc6\u7801\u5982\u4e0b&#xff1a;<\/span><br \/>\nrsync123                                    <span class=\"token comment\"># \u6ce8\u610f&#xff1a;\u53ea\u5199\u5bc6\u7801<\/span><\/p>\n<p><span class=\"token punctuation\">[<\/span>root&#064;web01 ~<span class=\"token punctuation\">]<\/span><span class=\"token comment\"># chmod 600 \/etc\/rsync.password   # \u5bc6\u7801\u8ba4\u8bc1\u6587\u4ef6\u5fc5\u987b\u4e3a600<\/span><\/p>\n<p>1.3 \u6d4b\u8bd5<\/p>\n<p><span class=\"token punctuation\">[<\/span>root&#064;web01 ~<span class=\"token punctuation\">]<\/span><span class=\"token comment\"># bash  \/server\/scripts\/backup.sh <\/span><br \/>\n<span class=\"token number\">2025<\/span>-08-12_Week03 <span class=\"token number\">192.168<\/span>.83.200 start backup <span class=\"token punctuation\">..<\/span><span class=\"token punctuation\">..<\/span><span class=\"token punctuation\">..<\/span><br \/>\nLocal backup successful, the backup files have been pushed to the backup server<\/p>\n<p><span class=\"token comment\"># \u5728backup\u670d\u52a1\u5668\u4e2d\u53ef\u4ee5\u770b\u5230\u63a8\u9001\u7684\u6570\u636e<\/span><br \/>\n<span class=\"token punctuation\">[<\/span>root&#064;backup ~<span class=\"token punctuation\">]<\/span><span class=\"token comment\"># ls  \/backup\/192.168.83.200\/<\/span><br \/>\n<span class=\"token number\">2025<\/span>-08-12_Week03.flag  nginx_logs_2025-08-12_Week03_tar.gz  sys_file_bak_2025-08-12_Week03_tar.gz  www_2025-08-12_Week03_tar.gz<\/p>\n<ul>\n<li>\u6ce8\u610f&#xff1a;\u82e5\u9047\u5230\u4e0b\u5217\u9519\u8bef\u53ef\u4ee5\u53c2\u8003&#xff1a;https:\/\/blog.sina.com.cn\/s\/blog_4da051a60101h8am.html<\/li>\n<\/ul>\n<p>&#064;ERROR: auth failed on module backup<br \/>\n<span class=\"token function\">rsync<\/span> error: error starting client-server protocol <span class=\"token punctuation\">(<\/span>code <span class=\"token number\">5<\/span><span class=\"token punctuation\">)<\/span> at main.c<span class=\"token punctuation\">(<\/span><span class=\"token number\">1656<\/span><span class=\"token punctuation\">)<\/span> <span class=\"token punctuation\">[<\/span>sender<span class=\"token operator\">&#061;<\/span><span class=\"token number\">3.1<\/span>.2<span class=\"token punctuation\">]<\/span><\/p>\n<h4>2\u3001\u914d\u7f6enfs01\u5ba2\u6237\u7aef\u672c\u5730\u5907\u4efd\u811a\u672c<\/h4>\n<p>1.1 nfs01\u5ba2\u6237\u7aef\u4e3b\u673a\u9700\u8981\u6253\u5305\u5907\u4efd\u7684\u5185\u5bb9&#xff1a;<\/p>\n<p><span class=\"token punctuation\">[<\/span>root&#064;nfs01 ~<span class=\"token punctuation\">]<\/span><span class=\"token comment\"># tree  \/nfsfile\/       # \u5171\u4eab\u76ee\u5f55\u6570\u636e<\/span><br \/>\n\/nfsfile\/<br \/>\n\u2514\u2500\u2500 readme<\/p>\n<p><span class=\"token comment\"># \u4ee5\u53ca\/var\/log\/message\u6587\u4ef6\u3001mount  -l  \u6302\u8f7d\u4fe1\u606f<\/span><\/p>\n<p>1.2 \u7f16\u5199\u5907\u4efdnfs01\u670d\u52a1\u5668\u7684\u811a\u672c<\/p>\n<p><span class=\"token punctuation\">[<\/span>root&#064;nfs01 ~<span class=\"token punctuation\">]<\/span><span class=\"token comment\"># mkdir  \/backup<\/span><br \/>\n<span class=\"token punctuation\">[<\/span>root&#064;nfs01 ~<span class=\"token punctuation\">]<\/span><span class=\"token comment\"># mkdir -p  \/server\/scripts<\/span><\/p>\n<p><span class=\"token punctuation\">[<\/span>root&#064;nfs01 ~<span class=\"token punctuation\">]<\/span><span class=\"token comment\"># vim  \/server\/scripts\/backup.sh<\/span><\/p>\n<p><span class=\"token comment\">#!\/bin\/bash<\/span><br \/>\n<span class=\"token comment\"># Date:2025-8-12<\/span><br \/>\n<span class=\"token comment\"># Author:xiaoxiong<\/span><br \/>\n<span class=\"token comment\"># Mail:120&#064;qq.com<\/span><br \/>\n<span class=\"token comment\"># Function: \u914d\u7f6enfs01\u5ba2\u6237\u7aef\u672c\u5730\u5907\u4efd\/nfsfile\/&#xff0c;\/var\/log\/message&#xff0c;mount  -l  \u6302\u8f7d\u4fe1\u606f<\/span><br \/>\n<span class=\"token comment\"># Version: V1.0<\/span><\/p>\n<p><span class=\"token comment\"># \u5b9a\u4e49\u65f6\u95f4\u65b9\u5f0f<\/span><br \/>\n<span class=\"token assign-left variable\">Date<\/span><span class=\"token operator\">&#061;<\/span><span class=\"token variable\"><span class=\"token variable\">$(<\/span><span class=\"token function\">date<\/span> &#043;%F_Week0%w<span class=\"token variable\">)<\/span><\/span><br \/>\n<span class=\"token comment\"># \u83b7\u53d6IP<\/span><br \/>\n<span class=\"token assign-left variable\">Host_IP<\/span><span class=\"token operator\">&#061;<\/span><span class=\"token variable\"><span class=\"token variable\">$(<\/span><span class=\"token function\">ifconfig<\/span> ens32 <span class=\"token operator\">|<\/span> <span class=\"token function\">awk<\/span> <span class=\"token string\">&#039;\/inet \/ {print $2}&#039;<\/span><span class=\"token variable\">)<\/span><\/span><br \/>\n<span class=\"token comment\"># \u672c\u5730\u5907\u4efd\u8def\u5f84<\/span><br \/>\n<span class=\"token assign-left variable\">Backup_Dir<\/span><span class=\"token operator\">&#061;<\/span><span class=\"token string\">&#034;\/backup\/&#034;<\/span><br \/>\n<span class=\"token comment\"># \u5907\u4efd\u670d\u52a1\u5668\u7684IP<\/span><br \/>\n<span class=\"token assign-left variable\">Backup_Server_IP<\/span><span class=\"token operator\">&#061;<\/span><span class=\"token number\">192.168<\/span>.83.202<br \/>\n<span class=\"token comment\"># \u6302\u8f7d\u65e5\u5fd7<\/span><br \/>\n<span class=\"token function\">mount<\/span> <span class=\"token parameter variable\">-l<\/span> <span class=\"token operator\">&gt;<\/span> \/var\/log\/mount.log     <\/p>\n<p><span class=\"token comment\"># \u521b\u5efa\u6307\u5b9a\u76ee\u5f55\u548cIP\u7684\u76ee\u5f55<\/span><br \/>\n<span class=\"token punctuation\">[<\/span> <span class=\"token operator\">!<\/span> <span class=\"token parameter variable\">-d<\/span> <span class=\"token variable\">$Backup_Dir<\/span>\/<span class=\"token variable\">$Host_IP<\/span> <span class=\"token punctuation\">]<\/span> <span class=\"token operator\">&amp;&amp;<\/span> <span class=\"token function\">mkdir<\/span> <span class=\"token parameter variable\">-p<\/span> <span class=\"token variable\">$Backup_Dir<\/span>\/<span class=\"token variable\">$Host_IP<\/span><\/p>\n<p><span class=\"token comment\"># \u8f93\u51fa\u63d0\u793a\u4fe1\u606f<\/span><br \/>\n<span class=\"token builtin class-name\">echo<\/span> <span class=\"token variable\">${Date}<\/span> <span class=\"token variable\">${Host_IP}<\/span> start backup <span class=\"token punctuation\">..<\/span><span class=\"token punctuation\">..<\/span><span class=\"token punctuation\">..<\/span><\/p>\n<p><span class=\"token comment\"># \u6309\u8981\u6c42\u6253\u5305\u5907\u4efd\u6240\u6709\u672c\u5730\u91cd\u8981\u6587\u4ef6<\/span><br \/>\n<span class=\"token builtin class-name\">cd<\/span> \/ <span class=\"token operator\">&amp;&amp;<\/span><span class=\"token punctuation\">\\\\<\/span><br \/>\n<span class=\"token function\">tar<\/span> cf <span class=\"token variable\">${Backup_Dir}<\/span><span class=\"token variable\">${Host_IP}<\/span>\/sys_file_bak_<span class=\"token variable\">${Date}<\/span>_tar.gz var\/spool\/cron <span class=\"token operator\">&amp;&amp;<\/span><span class=\"token punctuation\">\\\\<\/span><br \/>\n<span class=\"token function\">tar<\/span> rf <span class=\"token variable\">${Backup_Dir}<\/span><span class=\"token variable\">${Host_IP}<\/span>\/sys_file_bak_<span class=\"token variable\">${Date}<\/span>_tar.gz etc\/rc.d\/rc.local <span class=\"token operator\">&amp;&amp;<\/span><span class=\"token punctuation\">\\\\<\/span><br \/>\n<span class=\"token function\">tar<\/span> rf <span class=\"token variable\">${Backup_Dir}<\/span><span class=\"token variable\">${Host_IP}<\/span>\/sys_file_bak_<span class=\"token variable\">${Date}<\/span>_tar.gz server\/scripts\/ <span class=\"token operator\">&amp;&amp;<\/span><span class=\"token punctuation\">\\\\<\/span><br \/>\n<span class=\"token function\">tar<\/span> zcf <span class=\"token variable\">$Backup_Dir<\/span><span class=\"token variable\">$Host_IP<\/span>\/nfs_<span class=\"token variable\">${Date}<\/span>_tar.gz nfsfile\/ <span class=\"token operator\">&amp;&amp;<\/span><span class=\"token punctuation\">\\\\<\/span><br \/>\n<span class=\"token function\">tar<\/span> zcf <span class=\"token variable\">$Backup_Dir<\/span><span class=\"token variable\">$Host_IP<\/span>\/mount_logs_<span class=\"token variable\">${Date}<\/span>_tar.gz var\/log\/mount.log\/ <span class=\"token operator\">&amp;&amp;<\/span><span class=\"token punctuation\">\\\\<\/span><\/p>\n<p><span class=\"token comment\"># \u7ed9\u6240\u6709\u5907\u4efd\u7684\u538b\u7f29\u6587\u4ef6\u5efa\u7acb\u6307\u7eb9&#xff0c;\u653e\u5165\u6307\u7eb9\u5e93flag&#xff0c;\u540e\u9762\u4f1a\u9a8c\u8bc1\u5b8c\u6574\u6027<\/span><br \/>\n<span class=\"token function\">find<\/span> <span class=\"token variable\">${Backup_Dir<span class=\"token operator\">:-<\/span><span class=\"token operator\">\/<\/span>tmp}<\/span> <span class=\"token parameter variable\">-type<\/span> f <span class=\"token parameter variable\">-name<\/span> <span class=\"token string\">&#034;*<span class=\"token variable\">${Date}<\/span>_tar.gz&#034;<\/span> <span class=\"token operator\">|<\/span><span class=\"token function\">xargs<\/span> md5sum <span class=\"token operator\">&gt;<\/span><span class=\"token variable\">$Backup_Dir<\/span>\/<span class=\"token variable\">$Host_IP<\/span>\/<span class=\"token variable\">${Date}<\/span>.flag<\/p>\n<p><span class=\"token comment\"># \u628a\u5907\u4efd\u63a8\u9001\u5230\u5907\u4efd\u670d\u52a1\u5668<\/span><br \/>\n<span class=\"token function\">rsync<\/span> <span class=\"token parameter variable\">-az<\/span> <span class=\"token variable\">$Backup_Dir<\/span> rsync&#064;<span class=\"token variable\">${Backup_Server_IP}<\/span>::backup &#8211;password-file<span class=\"token operator\">&#061;<\/span>\/etc\/rsync.password<\/p>\n<p><span class=\"token comment\"># \u5220\u96647\u5929\u4ee5\u524d\u7684\u6240\u6709\u672c\u5730\u5907\u4efd\u6570\u636e<\/span><br \/>\n<span class=\"token function\">find<\/span> <span class=\"token variable\">${Backup_Dir<span class=\"token operator\">:-<\/span><span class=\"token operator\">\/<\/span>tmp}<\/span> <span class=\"token parameter variable\">-type<\/span> f <span class=\"token parameter variable\">-name<\/span> <span class=\"token string\">&#034;*.tar.gz&#034;<\/span> <span class=\"token parameter variable\">-a<\/span> <span class=\"token parameter variable\">-name<\/span> <span class=\"token string\">&#034;*flag*&#034;<\/span> <span class=\"token parameter variable\">-mtime<\/span> &#043;7<span class=\"token operator\">|<\/span><span class=\"token function\">xargs<\/span> <span class=\"token function\">rm<\/span> <span class=\"token parameter variable\">-f<\/span><\/p>\n<p><span class=\"token builtin class-name\">echo<\/span> <span class=\"token string\">&#034;Local backup successful, the backup files have been pushed to the backup server&#034;<\/span><\/p>\n<p><span class=\"token punctuation\">[<\/span>root&#064;nfs01 ~<span class=\"token punctuation\">]<\/span><span class=\"token comment\"># vim \/etc\/rsync.password     # \u5ba2\u6237\u7aef\u5efa\u7acb\u8ba4\u8bc1\u7684\u6587\u4ef6\u5bc6\u7801\u5982\u4e0b&#xff1a;<\/span><br \/>\nrsync123                                    <span class=\"token comment\"># \u6ce8\u610f&#xff1a;\u53ea\u5199\u5bc6\u7801<\/span><\/p>\n<p><span class=\"token punctuation\">[<\/span>root&#064;nfs01 ~<span class=\"token punctuation\">]<\/span><span class=\"token comment\"># chmod 600 \/etc\/rsync.password   # \u5bc6\u7801\u8ba4\u8bc1\u6587\u4ef6\u5fc5\u987b\u4e3a600<\/span><br \/>\n<span class=\"token punctuation\">[<\/span>root&#064;nfs01 ~<span class=\"token punctuation\">]<\/span><span class=\"token comment\"># ls -ld  \/etc\/rsync.password <\/span><br \/>\n-rw-r&#8211;r&#8211; <span class=\"token number\">1<\/span> root root <span class=\"token number\">9<\/span> Feb <span class=\"token number\">19<\/span> <span class=\"token number\">16<\/span>:40 \/etc\/rsync.password<\/p>\n<p>1.3 \u6d4b\u8bd5<\/p>\n<p><span class=\"token punctuation\">[<\/span>root&#064;nfs01 ~<span class=\"token punctuation\">]<\/span><span class=\"token comment\"># bash  \/server\/scripts\/backup.sh <\/span><\/p>\n<p><span class=\"token comment\"># \u5728backup\u670d\u52a1\u5668\u4e2d\u53ef\u4ee5\u770b\u5230\u63a8\u9001\u7684\u6570\u636e<\/span><br \/>\n<span class=\"token punctuation\">[<\/span>root&#064;backup ~<span class=\"token punctuation\">]<\/span><span class=\"token comment\"># ls  \/backup\/<\/span><br \/>\n<span class=\"token number\">192.168<\/span>.83.200  <span class=\"token number\">192.168<\/span>.83.201<\/p>\n<h3>\u7b2c\u4e09\u6b65&#xff1a;\u914d\u7f6e\u5b9a\u65f6\u4efb\u52a1<\/h3>\n<h4>1\u3001web01\u670d\u52a1\u5668\u914d\u7f6e<\/h4>\n<ul>\n<li>web01\u670d\u52a1\u5668\u7f16\u8f91\u5b9a\u65f6\u4efb\u52a1&#xff0c;\u5b9e\u73b0\u6bcf\u592900:00\u5b9a\u65f6\u5907\u4efd\u672c\u5730\u6570\u636e&#xff0c;\u5e76\u63a8\u9001\u5230Rsync\u670d\u52a1\u5668\u4e0a<\/li>\n<\/ul>\n<p><span class=\"token comment\"># \u67e5\u770bcrond\u670d\u52a1\u72b6\u6001&#xff0c;\u9ed8\u8ba4\u5df2\u5b89\u88c5<\/span><br \/>\n<span class=\"token punctuation\">[<\/span>root&#064;web01 ~<span class=\"token punctuation\">]<\/span><span class=\"token comment\"># systemctl status  crond<\/span><br \/>\n\u25cf crond.service &#8211; Command Scheduler<br \/>\n   Loaded: loaded <span class=\"token punctuation\">(<\/span>\/usr\/lib\/systemd\/system\/crond.service<span class=\"token punctuation\">;<\/span> enabled<span class=\"token punctuation\">;<\/span> vendor preset: enabled<span class=\"token punctuation\">)<\/span><br \/>\n   Active: active <span class=\"token punctuation\">(<\/span>running<span class=\"token punctuation\">)<\/span> since Thu <span class=\"token number\">2025<\/span>-8-12 09:00:05 CST<span class=\"token punctuation\">;<\/span> 11min ago<br \/>\n Main PID: <span class=\"token number\">1119<\/span> <span class=\"token punctuation\">(<\/span>crond<span class=\"token punctuation\">)<\/span><br \/>\n   CGroup: \/system.slice\/crond.service<br \/>\n           \u2514\u25001119 \/usr\/sbin\/crond <span class=\"token parameter variable\">-n<\/span><br \/>\n\u2026\u2026\u2026\u2026\u2026\u2026\u2026\u2026\u2026\u2026\u2026\u2026\u2026\u2026\u2026\u2026\u2026\u2026\u2026\u2026\u2026\u2026<\/p>\n<p><span class=\"token comment\"># \u6ce8\u610f\u82e5\u672a\u5b89\u88c5\u53ef\u6267\u884c&#xff1a;<\/span><br \/>\n<span class=\"token punctuation\">[<\/span>root&#064;web01 ~<span class=\"token punctuation\">]<\/span><span class=\"token comment\"># yum  install  crontabs<\/span><\/p>\n<p><span class=\"token comment\"># \u7f16\u8f91\u5b9a\u65f6\u4efb\u52a1<\/span><\/p>\n<p><span class=\"token punctuation\">[<\/span>root&#064;web01 ~<span class=\"token punctuation\">]<\/span><span class=\"token comment\"># crontab  -e    # \u6dfb\u52a0:<\/span><\/p>\n<p><span class=\"token comment\"># \u5b9e\u73b0\u6bcf\u592900:00\u5b9a\u65f6\u5907\u4efd\u672c\u5730\u6570\u636e&#xff0c;\u5e76\u63a8\u9001\u5230Rsync\u670d\u52a1\u5668\u4e0a<\/span><br \/>\n00 00 * * * \/bin\/sh \/server\/scripts\/backup.sh <span class=\"token operator\">&gt;<\/span>\/dev\/null <span class=\"token operator\"><span class=\"token file-descriptor important\">2<\/span>&gt;<\/span><span class=\"token file-descriptor important\">&amp;1<\/span><\/p>\n<p><span class=\"token comment\"># \u82e5\u51fa\u73b0\u5b9a\u65f6\u4efb\u52a1\u5982\u4e0b\u4fe1\u606f\u4e0d\u7528\u5904\u7406&#xff1a;<\/span><br \/>\nno <span class=\"token function\">crontab<\/span> <span class=\"token keyword\">for<\/span> root &#8211; using an empty one<br \/>\ncrontab: installing new <span class=\"token function\">crontab<\/span><\/p>\n<h4>2\u3001nfs01\u670d\u52a1\u5668\u914d\u7f6e<\/h4>\n<ul>\n<li>nfs01\u670d\u52a1\u5668\u7f16\u8f91\u5b9a\u65f6\u4efb\u52a1&#xff0c;\u5b9e\u73b0\u6bcf\u592900:00\u5b9a\u65f6\u5907\u4efd\u672c\u5730\u6570\u636e&#xff0c;\u5e76\u63a8\u9001\u5230Rsync\u670d\u52a1\u5668\u4e0a<\/li>\n<\/ul>\n<p><span class=\"token comment\"># \u67e5\u770bcrond\u670d\u52a1\u72b6\u6001&#xff0c;\u9ed8\u8ba4\u5df2\u5b89\u88c5<\/span><br \/>\n<span class=\"token punctuation\">[<\/span>root&#064;nfs01 ~<span class=\"token punctuation\">]<\/span><span class=\"token comment\"># systemctl status  crond<\/span><br \/>\n\u25cf crond.service &#8211; Command Scheduler<br \/>\n   Loaded: loaded <span class=\"token punctuation\">(<\/span>\/usr\/lib\/systemd\/system\/crond.service<span class=\"token punctuation\">;<\/span> enabled<span class=\"token punctuation\">;<\/span> vendor preset: enabled<span class=\"token punctuation\">)<\/span><br \/>\n   Active: active <span class=\"token punctuation\">(<\/span>running<span class=\"token punctuation\">)<\/span> since Thu <span class=\"token number\">2025<\/span>-8-12 09:00:05 CST<span class=\"token punctuation\">;<\/span> 11min ago<br \/>\n Main PID: <span class=\"token number\">1119<\/span> <span class=\"token punctuation\">(<\/span>crond<span class=\"token punctuation\">)<\/span><br \/>\n   CGroup: \/system.slice\/crond.service<br \/>\n           \u2514\u25001119 \/usr\/sbin\/crond <span class=\"token parameter variable\">-n<\/span><br \/>\n\u2026\u2026\u2026\u2026\u2026\u2026\u2026\u2026\u2026\u2026\u2026\u2026\u2026\u2026\u2026\u2026\u2026\u2026\u2026\u2026\u2026\u2026<\/p>\n<p><span class=\"token comment\"># \u6ce8\u610f\u82e5\u672a\u5b89\u88c5\u53ef\u6267\u884c&#xff1a;<\/span><br \/>\n<span class=\"token punctuation\">[<\/span>root&#064;web01 ~<span class=\"token punctuation\">]<\/span><span class=\"token comment\"># yum  install  crontabs<\/span><\/p>\n<p><span class=\"token comment\"># \u7f16\u8f91\u5b9a\u65f6\u4efb\u52a1<\/span><\/p>\n<p><span class=\"token punctuation\">[<\/span>root&#064;nfs01 ~<span class=\"token punctuation\">]<\/span><span class=\"token comment\"># crontab  -e    # \u6dfb\u52a0:<\/span><\/p>\n<p><span class=\"token comment\"># \u5b9e\u73b0\u6bcf\u592900:00\u5b9a\u65f6\u5907\u4efd\u672c\u5730\u6570\u636e&#xff0c;\u5e76\u63a8\u9001\u5230Rsync\u670d\u52a1\u5668\u4e0a<\/span><br \/>\n00 00 * * * \/bin\/sh \/server\/scripts\/backup.sh <span class=\"token operator\">&gt;<\/span>\/dev\/null <span class=\"token operator\"><span class=\"token file-descriptor important\">2<\/span>&gt;<\/span><span class=\"token file-descriptor important\">&amp;1<\/span><\/p>\n<p><span class=\"token comment\"># \u82e5\u51fa\u73b0\u5b9a\u65f6\u4efb\u52a1\u5982\u4e0b\u4fe1\u606f\u4e0d\u7528\u5904\u7406&#xff1a;<\/span><br \/>\nno <span class=\"token function\">crontab<\/span> <span class=\"token keyword\">for<\/span> root &#8211; using an empty one<br \/>\ncrontab: installing new <span class=\"token function\">crontab<\/span><\/p>\n<h4>3\u3001backup\u670d\u52a1\u5668\u914d\u7f6e<\/h4>\n<ul>\n<li>backup\u670d\u52a1\u5668\u7f16\u5199\u811a\u672c&#xff0c;\u5b9e\u73b0\u5220\u9664180\u5929\u524d\u7684\u6240\u6709\u5907\u4efd\u6570\u636e&#xff0c;\u4f46\u4fdd\u5b58\u6bcf\u5468\u4e00\u7684<\/li>\n<\/ul>\n<p><span class=\"token punctuation\">[<\/span>root&#064;backup ~<span class=\"token punctuation\">]<\/span><span class=\"token comment\"># mkdir -p \/server\/scripts<\/span><br \/>\n<span class=\"token punctuation\">[<\/span>root&#064;backup ~<span class=\"token punctuation\">]<\/span><span class=\"token comment\"># cd \/server\/scripts\/<\/span><br \/>\n<span class=\"token punctuation\">[<\/span>root&#064;backup scripts<span class=\"token punctuation\">]<\/span><span class=\"token comment\"># vim \/server\/scripts\/del_bak_data.sh<\/span><\/p>\n<p><span class=\"token comment\">#!\/bin\/bash<\/span><br \/>\n<span class=\"token comment\"># Date:2025-8-12<\/span><br \/>\n<span class=\"token comment\"># Author:xiaoxiong<\/span><br \/>\n<span class=\"token comment\"># Mail:120qq.com# Function: \u5220\u9664180\u5929\u524d\u7684\u6240\u6709\u5907\u4efd\u6570\u636e&#xff0c;\u4f46\u4fdd\u5b58\u6bcf\u5468\u4e00\u7684<\/span><br \/>\n<span class=\"token comment\"># Version: V1.0<\/span><\/p>\n<p><span class=\"token assign-left variable\">Backup_Dir<\/span><span class=\"token operator\">&#061;<\/span><span class=\"token string\">&#034;\/backup\/&#034;<\/span><br \/>\n<span class=\"token comment\"># \u5220\u96647\u5929\u524d\u7684\u538b\u7f29\u5305\u548cflag\u6587\u4ef6&#xff0c;\u4f46\u662f\u6bcf\u5468\u4e00\u7684\u4e0d\u5220<\/span><br \/>\n<span class=\"token function\">find<\/span> <span class=\"token variable\">${Backup_Dir<span class=\"token operator\">:-<\/span><span class=\"token operator\">\/<\/span>tmp}<\/span> <span class=\"token parameter variable\">-type<\/span> f  <span class=\"token parameter variable\">-name<\/span> <span class=\"token string\">&#034;*tar.gz*&#034;<\/span> <span class=\"token operator\">!<\/span> <span class=\"token parameter variable\">-name<\/span> <span class=\"token string\">&#034;*Week01*&#034;<\/span> <span class=\"token parameter variable\">-o<\/span> <span class=\"token parameter variable\">-name<\/span> <span class=\"token string\">&#034;*flag*&#034;<\/span> <span class=\"token parameter variable\">-mtime<\/span> &#043;7<span class=\"token operator\">|<\/span><span class=\"token function\">xargs<\/span> <span class=\"token function\">rm<\/span> <span class=\"token parameter variable\">-f<\/span><\/p>\n<p><span class=\"token comment\"># \u5220\u9664180\u5929\u524d\u7684\u6240\u6709\u538b\u7f29\u5305\u548cflag\u6587\u4ef6<\/span><br \/>\n<span class=\"token function\">find<\/span> <span class=\"token variable\">${Backup_Dir<span class=\"token operator\">:-<\/span><span class=\"token operator\">\/<\/span>tmp}<\/span> <span class=\"token parameter variable\">-type<\/span> f <span class=\"token parameter variable\">-name<\/span> <span class=\"token string\">&#034;*tar.gz*&#034;<\/span> <span class=\"token parameter variable\">-name<\/span> <span class=\"token string\">&#034;*flag*&#034;<\/span> <span class=\"token parameter variable\">-mtime<\/span> &#043;180<span class=\"token operator\">|<\/span><span class=\"token function\">xargs<\/span> <span class=\"token function\">rm<\/span> <span class=\"token parameter variable\">-f<\/span><\/p>\n<p><span class=\"token comment\"># \u6ce8\u610f&#xff1a;Backup_Dir:-\/tmp\u8868\u793a\u68c0\u67e5\u73af\u5883\u53d8\u91cf Backup_Dir \u662f\u5426\u5df2\u8bbe\u7f6e\u3002\u5982\u679c\u8bbe\u7f6e\u4e86&#xff0c;\u5c31\u4f7f\u7528\u5176\u503c&#xff1b;\u5982\u679c\u6ca1\u6709\u8bbe\u7f6e&#xff0c;\u5c31\u4f7f\u7528\u9ed8\u8ba4\u503c \/tmp<\/span><\/p>\n<ul>\n<li>backup\u670d\u52a1\u5668\u914d\u7f6e\u5b9a\u65f6\u4efb\u52a1&#xff0c;\u5b9e\u73b0\u670d\u52a1\u7aef180\u5929\u524d\u6570\u636e\u81ea\u52a8\u5220\u9664<\/li>\n<\/ul>\n<p><span class=\"token punctuation\">[<\/span>root&#064;backup ~<span class=\"token punctuation\">]<\/span><span class=\"token comment\"># crontab -e<\/span><\/p>\n<p><span class=\"token comment\"># crond-id-003:data backup<\/span><br \/>\n00 00 * * * \/bin\/sh \/server\/scripts\/del_bak_data.sh <span class=\"token operator\">&gt;<\/span>\/dev\/null <span class=\"token operator\"><span class=\"token file-descriptor important\">2<\/span>&gt;<\/span><span class=\"token file-descriptor important\">&amp;1<\/span><\/p>\n<h3>\u7b2c\u56db\u6b65&#xff1a;\u6570\u636e\u4f20\u8f93\u5b8c\u6574\u6027\u9a8c\u8bc1\u4e0e\u76d1\u63a7\u544a\u8b66<\/h3>\n<h4>1\u3001\u9a8c\u8bc1\u6570\u636e\u5b8c\u6574\u6027<\/h4>\n<ul>\n<li>backup\u670d\u52a1\u7aef\u9488\u5bf9\u5ba2\u6237\u7aef\u5907\u4efd\u65f6\u7684md5\u6307\u7eb9\u6570\u636e&#xff0c;\u5229\u7528MD5\u547d\u4ee4\u8fdb\u884c\u9a8c\u8bc1&#xff0c;\u5b8c\u6210\u6570\u636e\u4f20\u8f93\u8fc7\u7a0b\u5b8c\u6574\u6027\u9a8c\u8bc1\u3002<\/li>\n<\/ul>\n<p><span class=\"token punctuation\">[<\/span>root&#064;backup scripts<span class=\"token punctuation\">]<\/span><span class=\"token comment\"># vim send_mail.sh <\/span><\/p>\n<p><span class=\"token comment\">#!\/bin\/bash<\/span><br \/>\n<span class=\"token comment\"># Date:2025-8-12<\/span><br \/>\n<span class=\"token comment\"># Author:xiaoxiong<\/span><br \/>\n<span class=\"token comment\"># Mail:119&#064;qq.com<\/span><br \/>\n<span class=\"token comment\"># Function: Verify the integrity of backup files<\/span><br \/>\n<span class=\"token comment\"># Version: V1.0<\/span><\/p>\n<p><span class=\"token assign-left variable\">Date<\/span><span class=\"token operator\">&#061;<\/span><span class=\"token variable\"><span class=\"token variable\">$(<\/span><span class=\"token function\">date<\/span> &#043;%F_Week0%w<span class=\"token variable\">)<\/span><\/span><br \/>\n<span class=\"token assign-left variable\">Backup_Dir<\/span><span class=\"token operator\">&#061;<\/span><span class=\"token string\">&#034;\/backup\/&#034;<\/span><br \/>\n<span class=\"token comment\"># \u5b9a\u65f6\u68c0\u67e5\u5907\u4efd\u7ed3\u679c\u7684\u6587\u4ef6<\/span><br \/>\n<span class=\"token assign-left variable\">Check_Log<\/span><span class=\"token operator\">&#061;<\/span><span class=\"token string\">&#034;\/tmp\/bak.log_<span class=\"token variable\"><span class=\"token variable\">$(<\/span><span class=\"token function\">date<\/span> &#043;%F<span class=\"token variable\">)<\/span><\/span>&#034;<\/span><br \/>\n<span class=\"token comment\"># \u7ba1\u7406\u5458\u90ae\u7bb1<\/span><br \/>\n<span class=\"token assign-left variable\">Admin_Mail<\/span><span class=\"token operator\">&#061;<\/span><span class=\"token number\">11972<\/span>*****&#064;qq.com    <\/p>\n<p><span class=\"token function\">find<\/span> <span class=\"token variable\">$Backup_Dir<\/span> <span class=\"token parameter variable\">-type<\/span> f <span class=\"token parameter variable\">-name<\/span> <span class=\"token string\">&#034;<span class=\"token variable\">${Date}<\/span>.flag&#034;<\/span><span class=\"token operator\">|<\/span><span class=\"token function\">xargs<\/span> md5sum <span class=\"token parameter variable\">-c<\/span> <span class=\"token operator\">&gt;&gt;<\/span> <span class=\"token variable\">$Check_Log<\/span><\/p>\n<p><span class=\"token keyword\">if<\/span> <span class=\"token punctuation\">[<\/span> <span class=\"token parameter variable\">-n<\/span> <span class=\"token string\">&#034;cat <span class=\"token variable\">$Check_Log<\/span>&#034;<\/span> <span class=\"token punctuation\">]<\/span><br \/>\n<span class=\"token keyword\">then<\/span><br \/>\n    mail <span class=\"token parameter variable\">-s<\/span> <span class=\"token string\">&#034;<span class=\"token variable\">$Date<\/span> backup data info&#034;<\/span> <span class=\"token variable\">$Admin_Mail<\/span> <span class=\"token operator\">&lt;<\/span> <span class=\"token variable\">$Check_Log<\/span><br \/>\n<span class=\"token keyword\">else<\/span><br \/>\n   <span class=\"token comment\"># \u5982\u679c\u7ed3\u679c\u6587\u4ef6\u4e0d\u5b58\u5728&#xff0c;\u65e5\u5fd7\u4fe1\u606f\u53d8\u5316&#xff0c;\u62a5\u9519<\/span><br \/>\n    <span class=\"token builtin class-name\">echo<\/span> <span class=\"token string\">&#034;<span class=\"token variable\">$Date<\/span> backup data error,pls check it.&#034;<\/span> <span class=\"token operator\">&gt;<\/span> <span class=\"token variable\">$Check_Log<\/span><br \/>\n    mail <span class=\"token parameter variable\">-s<\/span> <span class=\"token string\">&#034;<span class=\"token variable\">$Date<\/span> backup data info&#034;<\/span> <span class=\"token variable\">$Admin_Mail<\/span> <span class=\"token operator\">&lt;<\/span> <span class=\"token variable\">$Check_Log<\/span><br \/>\n<span class=\"token keyword\">fi<\/span><br \/>\n<span class=\"token function\">cp<\/span> <span class=\"token variable\">$Check_Log<\/span><span class=\"token punctuation\">{<\/span>,.ori<span class=\"token punctuation\">}<\/span> <span class=\"token operator\">&amp;&amp;<\/span> <span class=\"token operator\">&gt;<\/span> <span class=\"token variable\">$Check_Log<\/span><\/p>\n<h4>2\u3001\u914d\u7f6e\u90ae\u4ef6\u544a\u8b66<\/h4>\n<p>2.1 \u5b89\u88c5\u90ae\u4ef6\u670d\u52a1<\/p>\n<p><span class=\"token punctuation\">[<\/span>root&#064;backup ~<span class=\"token punctuation\">]<\/span><span class=\"token comment\"># yum  install  mailx  -y<\/span><\/p>\n<p>2.2 \u914d\u7f6eqq\u90ae\u7bb1<\/p>\n<p>2.2.1 ssl\u8bc1\u4e66<\/p>\n<p><span class=\"token punctuation\">[<\/span>root&#064;backup ~<span class=\"token punctuation\">]<\/span><span class=\"token comment\"># mkdir -p \/root\/.certs<\/span><br \/>\n<span class=\"token punctuation\">[<\/span>root&#064;backup ~<span class=\"token punctuation\">]<\/span><span class=\"token comment\"># cd  \/root\/.certs<\/span><\/p>\n<p><span class=\"token punctuation\">[<\/span>root&#064;backup .certs<span class=\"token punctuation\">]<\/span><span class=\"token comment\"># echo -n | openssl s_client -connect smtp.qq.com:465 | sed -ne &#039;\/-BEGIN CERTIFICATE-\/,\/-END CERTIFICATE-\/p&#039; &gt; ~\/.certs\/qq.crt<\/span><\/p>\n<p><span class=\"token punctuation\">[<\/span>root&#064;backup .certs<span class=\"token punctuation\">]<\/span><span class=\"token comment\"># certutil -A -n &#034;GeoTrust SSL CA&#034; -t &#034;C,,&#034; -d ~\/.certs -i ~\/.certs\/qq.crt<\/span><\/p>\n<p><span class=\"token punctuation\">[<\/span>root&#064;backup .certs<span class=\"token punctuation\">]<\/span><span class=\"token comment\"># certutil -A -n &#034;GeoTrust Global CA&#034; -t &#034;C,,&#034; -d ~\/.certs -i ~\/.certs\/qq.crt<\/span><\/p>\n<p><span class=\"token punctuation\">[<\/span>root&#064;backup .certs<span class=\"token punctuation\">]<\/span><span class=\"token comment\"># certutil -A -n &#034;GeoTrust SSL CA &#8211; G3&#034; -t &#034;Pu,Pu,Pu&#034; -d .\/ -i qq.crt<\/span><br \/>\nNotice: Trust flag u is <span class=\"token builtin class-name\">set<\/span> automatically <span class=\"token keyword\">if<\/span> the private key is present.<\/p>\n<p>2.2.2 \u914d\u7f6e\u90ae\u4ef6\u670d\u52a1<\/p>\n<p><span class=\"token punctuation\">[<\/span>root&#064;backup .certs<span class=\"token punctuation\">]<\/span><span class=\"token comment\"># vim  \/etc\/mail.rc<\/span><br \/>\n<span class=\"token comment\"># \u6700\u540e\u4e00\u884c\u540e\u6dfb\u52a0\u4ee5\u4e0b\u5185\u5bb9&#xff1a;<\/span><\/p>\n<p><span class=\"token builtin class-name\">set<\/span> <span class=\"token assign-left variable\">from<\/span><span class=\"token operator\">&#061;<\/span><span class=\"token number\">1197<\/span>******7&#064;qq.com<br \/>\n<span class=\"token builtin class-name\">set<\/span> <span class=\"token assign-left variable\">smtp<\/span><span class=\"token operator\">&#061;<\/span>smtps:\/\/smtp.qq.com:465         <span class=\"token comment\"># ssl\u7aef\u53e3\u9ed8\u8ba4465<\/span><br \/>\n<span class=\"token builtin class-name\">set<\/span> smtp-auth-user<span class=\"token operator\">&#061;<\/span><span class=\"token number\">1197<\/span>******7&#064;qq.com<br \/>\n<span class=\"token builtin class-name\">set<\/span> smtp-auth-password<span class=\"token operator\">&#061;<\/span>gqb******bbach  <span class=\"token comment\"># \u6388\u6743\u7801<\/span><br \/>\n<span class=\"token builtin class-name\">set<\/span> smtp-auth<span class=\"token operator\">&#061;<\/span>login<br \/>\n<span class=\"token builtin class-name\">set<\/span> nss-config-dir<span class=\"token operator\">&#061;<\/span>\/root\/.certs\/     <span class=\"token comment\"># \u8bbe\u7f6e\u8bc1\u4e66\u8def\u5f84<\/span><br \/>\n<span class=\"token builtin class-name\">set<\/span> ssl-verify<span class=\"token operator\">&#061;<\/span>ignore                <span class=\"token comment\"># \u542f\u7528\u52a0\u5bc6ssl\u4f20\u8f93in<\/span><\/p>\n<p>2.3 \u6d4b\u8bd5\u90ae\u4ef6\u670d\u52a1<\/p>\n<p><span class=\"token punctuation\">[<\/span>root&#064;backup ~<span class=\"token punctuation\">]<\/span><span class=\"token comment\"># echo  &#034;\u6211\u662f\u5c0f\u718a&#034;  |  mail  -s  &#034;testmail&#034;  1197******7&#064;qq.com<\/span><\/p>\n<p><span class=\"token punctuation\">[<\/span>root&#064;backup ~<span class=\"token punctuation\">]<\/span><span class=\"token comment\"># bash \/server\/scripts\/send_mail.sh<\/span><\/p>\n<p><img decoding=\"async\" src=\"https:\/\/www.wsisp.com\/helps\/wp-content\/uploads\/2025\/08\/20250814232031-689e6f3f7619b.png\" alt=\"\u5916\u94fe\u56fe\u7247\u8f6c\u5b58\u5931\u8d25,\u6e90\u7ad9\u53ef\u80fd\u6709\u9632\u76d7\u94fe\u673a\u5236,\u5efa\u8bae\u5c06\u56fe\u7247\u4fdd\u5b58\u4e0b\u6765\u76f4\u63a5\u4e0a\u4f20\" \/><\/p>\n","protected":false},"excerpt":{"rendered":"<p>\u6587\u7ae0\u6d4f\u89c8\u9605\u8bfb934\u6b21\uff0c\u70b9\u8d5e23\u6b21\uff0c\u6536\u85cf20\u6b21\u3002\u8be5\u9879\u76ee\u5171\u5206\u4e3a2\u4e2a\u5b50\u9879\u76ee\uff0c\u7531\u73af\u5883\u642d\u5efa\u548c\u5b9e\u65bd\u5907\u4efd\u4e24\u90e8\u5206\u7ec4\u6210\u8be5\u9879\u76ee\u65e8\u5728\u590d\u4e60\u5de9\u56fa\u7cfb\u7edf\u670d\u52a1\u90e8\u7f72\u4f7f\u7528\u3001shell\u7f16\u7a0b\u7b49\u77e5\u8bc6\uff0c\u65e8\u5728\u8ba9\u5b66\u751f\u589e\u52a0\u77e5\u8bc6\u9762\uff0c\u63d0\u9ad8\u9879\u76ee\u5b9e\u4e60\u7ecf\u5386\uff0c\u5145\u5b9e\u7b80\u5386\u3002<\/p>\n","protected":false},"author":2,"featured_media":57056,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[1],"tags":[58,2290,5946,43,395],"topic":[],"class_list":{"0":"post-57060","1":"post","2":"type-post","3":"status-publish","4":"format-standard","5":"has-post-thumbnail","6":"hentry","7":"category-server","8":"tag-linux","10":"tag-5946","11":"tag-43","12":"tag-395"},"yoast_head":"<!-- This site is optimized with the Yoast SEO plugin v20.3 - https:\/\/yoast.com\/wordpress\/plugins\/seo\/ -->\n<title>\u3010\u81ea\u52a8\u5316\u5907\u4efd\u5168\u7f51\u670d\u52a1\u5668\u6570\u636e\u9879\u76ee\u3011 - \u7f51\u7855\u4e92\u8054\u5e2e\u52a9\u4e2d\u5fc3<\/title>\n<meta name=\"robots\" content=\"index, follow, max-snippet:-1, max-image-preview:large, max-video-preview:-1\" \/>\n<link rel=\"canonical\" href=\"https:\/\/www.wsisp.com\/helps\/57060.html\" \/>\n<meta property=\"og:locale\" content=\"zh_CN\" \/>\n<meta property=\"og:type\" content=\"article\" \/>\n<meta property=\"og:title\" content=\"\u3010\u81ea\u52a8\u5316\u5907\u4efd\u5168\u7f51\u670d\u52a1\u5668\u6570\u636e\u9879\u76ee\u3011 - \u7f51\u7855\u4e92\u8054\u5e2e\u52a9\u4e2d\u5fc3\" \/>\n<meta property=\"og:description\" content=\"\u6587\u7ae0\u6d4f\u89c8\u9605\u8bfb934\u6b21\uff0c\u70b9\u8d5e23\u6b21\uff0c\u6536\u85cf20\u6b21\u3002\u8be5\u9879\u76ee\u5171\u5206\u4e3a2\u4e2a\u5b50\u9879\u76ee\uff0c\u7531\u73af\u5883\u642d\u5efa\u548c\u5b9e\u65bd\u5907\u4efd\u4e24\u90e8\u5206\u7ec4\u6210\u8be5\u9879\u76ee\u65e8\u5728\u590d\u4e60\u5de9\u56fa\u7cfb\u7edf\u670d\u52a1\u90e8\u7f72\u4f7f\u7528\u3001shell\u7f16\u7a0b\u7b49\u77e5\u8bc6\uff0c\u65e8\u5728\u8ba9\u5b66\u751f\u589e\u52a0\u77e5\u8bc6\u9762\uff0c\u63d0\u9ad8\u9879\u76ee\u5b9e\u4e60\u7ecf\u5386\uff0c\u5145\u5b9e\u7b80\u5386\u3002\" \/>\n<meta property=\"og:url\" content=\"https:\/\/www.wsisp.com\/helps\/57060.html\" \/>\n<meta property=\"og:site_name\" content=\"\u7f51\u7855\u4e92\u8054\u5e2e\u52a9\u4e2d\u5fc3\" \/>\n<meta property=\"article:published_time\" content=\"2025-08-14T23:20:33+00:00\" \/>\n<meta property=\"og:image\" content=\"https:\/\/www.wsisp.com\/helps\/wp-content\/uploads\/2025\/08\/20250814232024-689e6f38b3e76.png\" \/>\n<meta name=\"author\" content=\"admin\" \/>\n<meta name=\"twitter:card\" content=\"summary_large_image\" \/>\n<meta name=\"twitter:label1\" content=\"\u4f5c\u8005\" \/>\n\t<meta name=\"twitter:data1\" content=\"admin\" \/>\n\t<meta name=\"twitter:label2\" content=\"\u9884\u8ba1\u9605\u8bfb\u65f6\u95f4\" \/>\n\t<meta name=\"twitter:data2\" content=\"11 \u5206\" \/>\n<script type=\"application\/ld+json\" class=\"yoast-schema-graph\">{\"@context\":\"https:\/\/schema.org\",\"@graph\":[{\"@type\":\"WebPage\",\"@id\":\"https:\/\/www.wsisp.com\/helps\/57060.html\",\"url\":\"https:\/\/www.wsisp.com\/helps\/57060.html\",\"name\":\"\u3010\u81ea\u52a8\u5316\u5907\u4efd\u5168\u7f51\u670d\u52a1\u5668\u6570\u636e\u9879\u76ee\u3011 - \u7f51\u7855\u4e92\u8054\u5e2e\u52a9\u4e2d\u5fc3\",\"isPartOf\":{\"@id\":\"https:\/\/www.wsisp.com\/helps\/#website\"},\"datePublished\":\"2025-08-14T23:20:33+00:00\",\"dateModified\":\"2025-08-14T23:20:33+00:00\",\"author\":{\"@id\":\"https:\/\/www.wsisp.com\/helps\/#\/schema\/person\/358e386c577a3ab51c4493330a20ad41\"},\"breadcrumb\":{\"@id\":\"https:\/\/www.wsisp.com\/helps\/57060.html#breadcrumb\"},\"inLanguage\":\"zh-Hans\",\"potentialAction\":[{\"@type\":\"ReadAction\",\"target\":[\"https:\/\/www.wsisp.com\/helps\/57060.html\"]}]},{\"@type\":\"BreadcrumbList\",\"@id\":\"https:\/\/www.wsisp.com\/helps\/57060.html#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"\u9996\u9875\",\"item\":\"https:\/\/www.wsisp.com\/helps\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"\u3010\u81ea\u52a8\u5316\u5907\u4efd\u5168\u7f51\u670d\u52a1\u5668\u6570\u636e\u9879\u76ee\u3011\"}]},{\"@type\":\"WebSite\",\"@id\":\"https:\/\/www.wsisp.com\/helps\/#website\",\"url\":\"https:\/\/www.wsisp.com\/helps\/\",\"name\":\"\u7f51\u7855\u4e92\u8054\u5e2e\u52a9\u4e2d\u5fc3\",\"description\":\"\u9999\u6e2f\u670d\u52a1\u5668_\u9999\u6e2f\u4e91\u670d\u52a1\u5668\u8d44\u8baf_\u670d\u52a1\u5668\u5e2e\u52a9\u6587\u6863_\u670d\u52a1\u5668\u6559\u7a0b\",\"potentialAction\":[{\"@type\":\"SearchAction\",\"target\":{\"@type\":\"EntryPoint\",\"urlTemplate\":\"https:\/\/www.wsisp.com\/helps\/?s={search_term_string}\"},\"query-input\":\"required name=search_term_string\"}],\"inLanguage\":\"zh-Hans\"},{\"@type\":\"Person\",\"@id\":\"https:\/\/www.wsisp.com\/helps\/#\/schema\/person\/358e386c577a3ab51c4493330a20ad41\",\"name\":\"admin\",\"image\":{\"@type\":\"ImageObject\",\"inLanguage\":\"zh-Hans\",\"@id\":\"https:\/\/www.wsisp.com\/helps\/#\/schema\/person\/image\/\",\"url\":\"https:\/\/gravatar.wp-china-yes.net\/avatar\/?s=96&d=mystery\",\"contentUrl\":\"https:\/\/gravatar.wp-china-yes.net\/avatar\/?s=96&d=mystery\",\"caption\":\"admin\"},\"sameAs\":[\"http:\/\/wp.wsisp.com\"],\"url\":\"https:\/\/www.wsisp.com\/helps\/author\/admin\"}]}<\/script>\n<!-- \/ Yoast SEO plugin. -->","yoast_head_json":{"title":"\u3010\u81ea\u52a8\u5316\u5907\u4efd\u5168\u7f51\u670d\u52a1\u5668\u6570\u636e\u9879\u76ee\u3011 - \u7f51\u7855\u4e92\u8054\u5e2e\u52a9\u4e2d\u5fc3","robots":{"index":"index","follow":"follow","max-snippet":"max-snippet:-1","max-image-preview":"max-image-preview:large","max-video-preview":"max-video-preview:-1"},"canonical":"https:\/\/www.wsisp.com\/helps\/57060.html","og_locale":"zh_CN","og_type":"article","og_title":"\u3010\u81ea\u52a8\u5316\u5907\u4efd\u5168\u7f51\u670d\u52a1\u5668\u6570\u636e\u9879\u76ee\u3011 - \u7f51\u7855\u4e92\u8054\u5e2e\u52a9\u4e2d\u5fc3","og_description":"\u6587\u7ae0\u6d4f\u89c8\u9605\u8bfb934\u6b21\uff0c\u70b9\u8d5e23\u6b21\uff0c\u6536\u85cf20\u6b21\u3002\u8be5\u9879\u76ee\u5171\u5206\u4e3a2\u4e2a\u5b50\u9879\u76ee\uff0c\u7531\u73af\u5883\u642d\u5efa\u548c\u5b9e\u65bd\u5907\u4efd\u4e24\u90e8\u5206\u7ec4\u6210\u8be5\u9879\u76ee\u65e8\u5728\u590d\u4e60\u5de9\u56fa\u7cfb\u7edf\u670d\u52a1\u90e8\u7f72\u4f7f\u7528\u3001shell\u7f16\u7a0b\u7b49\u77e5\u8bc6\uff0c\u65e8\u5728\u8ba9\u5b66\u751f\u589e\u52a0\u77e5\u8bc6\u9762\uff0c\u63d0\u9ad8\u9879\u76ee\u5b9e\u4e60\u7ecf\u5386\uff0c\u5145\u5b9e\u7b80\u5386\u3002","og_url":"https:\/\/www.wsisp.com\/helps\/57060.html","og_site_name":"\u7f51\u7855\u4e92\u8054\u5e2e\u52a9\u4e2d\u5fc3","article_published_time":"2025-08-14T23:20:33+00:00","og_image":[{"url":"https:\/\/www.wsisp.com\/helps\/wp-content\/uploads\/2025\/08\/20250814232024-689e6f38b3e76.png"}],"author":"admin","twitter_card":"summary_large_image","twitter_misc":{"\u4f5c\u8005":"admin","\u9884\u8ba1\u9605\u8bfb\u65f6\u95f4":"11 \u5206"},"schema":{"@context":"https:\/\/schema.org","@graph":[{"@type":"WebPage","@id":"https:\/\/www.wsisp.com\/helps\/57060.html","url":"https:\/\/www.wsisp.com\/helps\/57060.html","name":"\u3010\u81ea\u52a8\u5316\u5907\u4efd\u5168\u7f51\u670d\u52a1\u5668\u6570\u636e\u9879\u76ee\u3011 - \u7f51\u7855\u4e92\u8054\u5e2e\u52a9\u4e2d\u5fc3","isPartOf":{"@id":"https:\/\/www.wsisp.com\/helps\/#website"},"datePublished":"2025-08-14T23:20:33+00:00","dateModified":"2025-08-14T23:20:33+00:00","author":{"@id":"https:\/\/www.wsisp.com\/helps\/#\/schema\/person\/358e386c577a3ab51c4493330a20ad41"},"breadcrumb":{"@id":"https:\/\/www.wsisp.com\/helps\/57060.html#breadcrumb"},"inLanguage":"zh-Hans","potentialAction":[{"@type":"ReadAction","target":["https:\/\/www.wsisp.com\/helps\/57060.html"]}]},{"@type":"BreadcrumbList","@id":"https:\/\/www.wsisp.com\/helps\/57060.html#breadcrumb","itemListElement":[{"@type":"ListItem","position":1,"name":"\u9996\u9875","item":"https:\/\/www.wsisp.com\/helps"},{"@type":"ListItem","position":2,"name":"\u3010\u81ea\u52a8\u5316\u5907\u4efd\u5168\u7f51\u670d\u52a1\u5668\u6570\u636e\u9879\u76ee\u3011"}]},{"@type":"WebSite","@id":"https:\/\/www.wsisp.com\/helps\/#website","url":"https:\/\/www.wsisp.com\/helps\/","name":"\u7f51\u7855\u4e92\u8054\u5e2e\u52a9\u4e2d\u5fc3","description":"\u9999\u6e2f\u670d\u52a1\u5668_\u9999\u6e2f\u4e91\u670d\u52a1\u5668\u8d44\u8baf_\u670d\u52a1\u5668\u5e2e\u52a9\u6587\u6863_\u670d\u52a1\u5668\u6559\u7a0b","potentialAction":[{"@type":"SearchAction","target":{"@type":"EntryPoint","urlTemplate":"https:\/\/www.wsisp.com\/helps\/?s={search_term_string}"},"query-input":"required name=search_term_string"}],"inLanguage":"zh-Hans"},{"@type":"Person","@id":"https:\/\/www.wsisp.com\/helps\/#\/schema\/person\/358e386c577a3ab51c4493330a20ad41","name":"admin","image":{"@type":"ImageObject","inLanguage":"zh-Hans","@id":"https:\/\/www.wsisp.com\/helps\/#\/schema\/person\/image\/","url":"https:\/\/gravatar.wp-china-yes.net\/avatar\/?s=96&d=mystery","contentUrl":"https:\/\/gravatar.wp-china-yes.net\/avatar\/?s=96&d=mystery","caption":"admin"},"sameAs":["http:\/\/wp.wsisp.com"],"url":"https:\/\/www.wsisp.com\/helps\/author\/admin"}]}},"_links":{"self":[{"href":"https:\/\/www.wsisp.com\/helps\/wp-json\/wp\/v2\/posts\/57060","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/www.wsisp.com\/helps\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/www.wsisp.com\/helps\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/www.wsisp.com\/helps\/wp-json\/wp\/v2\/users\/2"}],"replies":[{"embeddable":true,"href":"https:\/\/www.wsisp.com\/helps\/wp-json\/wp\/v2\/comments?post=57060"}],"version-history":[{"count":0,"href":"https:\/\/www.wsisp.com\/helps\/wp-json\/wp\/v2\/posts\/57060\/revisions"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/www.wsisp.com\/helps\/wp-json\/wp\/v2\/media\/57056"}],"wp:attachment":[{"href":"https:\/\/www.wsisp.com\/helps\/wp-json\/wp\/v2\/media?parent=57060"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/www.wsisp.com\/helps\/wp-json\/wp\/v2\/categories?post=57060"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/www.wsisp.com\/helps\/wp-json\/wp\/v2\/tags?post=57060"},{"taxonomy":"topic","embeddable":true,"href":"https:\/\/www.wsisp.com\/helps\/wp-json\/wp\/v2\/topic?post=57060"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}