<?xml version="1.0" encoding="utf-8" standalone="yes"?>
<rss
  version="2.0"
  xmlns:atom="http://www.w3.org/2005/Atom"
  xmlns:wfw="http://wellformedweb.org/CommentAPI/"
  
>
  <channel>
    <title>技术相关 on 从左到东</title>
    <link>/categories/%E6%8A%80%E6%9C%AF%E7%9B%B8%E5%85%B3/</link>
    <description>Recent content in 技术相关 on 从左到东</description>
    <generator>Hugo</generator>
    <language>zh-cn</language>
    <lastBuildDate>Thu, 21 Nov 2024 13:30:41 +0800</lastBuildDate>
    <atom:link href="/categories/%E6%8A%80%E6%9C%AF%E7%9B%B8%E5%85%B3/index.xml" rel="self" type="application/rss+xml" />
    <item>
      <title>ab命令</title>
      <link>/post/%E6%8A%80%E6%9C%AF%E7%9B%B8%E5%85%B3/%E5%B8%B8%E7%94%A8%E5%B7%A5%E5%85%B7/ab%E5%91%BD%E4%BB%A4/</link>
      <pubDate>Thu, 21 Nov 2024 13:30:41 +0800</pubDate>
      <guid>/post/%E6%8A%80%E6%9C%AF%E7%9B%B8%E5%85%B3/%E5%B8%B8%E7%94%A8%E5%B7%A5%E5%85%B7/ab%E5%91%BD%E4%BB%A4/</guid>
      <description>&lt;p&gt;网站性能压力测试是&lt;a href=&#34;https://cloud.tencent.com/product/cvm?from=10680&#34;&gt;服务器&lt;/a&gt;网站性能调优过程中必不可缺少的一环。只有让服务器处在高压情况下，才能真正体现出软件、硬件等各种设置不当所暴露出的问题。&lt;/p&gt;&#xA;&lt;p&gt;性能测试工具目前最常见的有以下几种：ab、http_load、webbench、siege。今天我们专门来介绍ab。&lt;/p&gt;&#xA;&lt;p&gt;ab是apache自带的压力测试工具。ab非常实用，它不仅可以对apache服务器进行网站访问压力测试，也可以对或其它类型的服务器进行压力测试。比如nginx、tomcat、IIS等。 &lt;a href=&#34;http://httpd.apache.org/docs/2.2/programs/ab.html&#34;&gt;官方参数文档&lt;/a&gt;&lt;/p&gt;&#xA;&lt;p&gt;一、ab的原理&lt;/p&gt;&#xA;&lt;p&gt;ab是apachebench命令的缩写。&lt;/p&gt;&#xA;&lt;p&gt;ab的原理：ab命令会创建多个并发访问线程，模拟多个访问者同时对某一URL地址进行访问。它的测试目标是基于URL的，因此，它既可以用来测试apache的负载压力，也可以测试nginx、lighthttp、tomcat、IIS等其它Web服务器的压力。&lt;/p&gt;&#xA;&lt;p&gt;ab命令对发出负载的计算机要求很低，它既不会占用很高CPU，也不会占用很多内存。但却会给目标服务器造成巨大的负载，其原理类似CC攻击。自己测试使用也需要注意，否则一次上太多的负载。可能造成目标服务器资源耗完，严重时甚至导致死机。&lt;/p&gt;&#xA;&lt;p&gt;二、ab的安装&lt;/p&gt;&#xA;&lt;p&gt;ab的安装非常简单，如果是源码安装apache的话，那就更简单了。apache安装完毕后ab命令存放在apache安装目录的bin目录下。如下：&lt;/p&gt;&#xA;&lt;p&gt;/usr/local/apache2/bin&lt;/p&gt;&#xA;&lt;p&gt;复制&lt;/p&gt;&#xA;&lt;p&gt;如果apache 是通过yum的RPM包方式安装的话，ab命令默认存放在/usr/bin目录下。如下：&lt;/p&gt;&#xA;&lt;p&gt;which ab&lt;/p&gt;&#xA;&lt;p&gt;复制&lt;/p&gt;&#xA;&lt;p&gt;注意：如果不想安装apache但是又想使用ab命令的话，我们可以直接安装apache的工具包httpd-tools。如下：&lt;/p&gt;&#xA;&lt;p&gt;yum -y install httpd-tools&lt;/p&gt;&#xA;&lt;p&gt;复制&lt;/p&gt;&#xA;&lt;p&gt;查看ab是否安装成功，可以切换到上述目录下，使用ab –V命令进行检测。如下：&lt;/p&gt;&#xA;&lt;p&gt;ab -V&lt;/p&gt;&#xA;&lt;p&gt;复制&lt;/p&gt;&#xA;&lt;p&gt;如果ab安装成功，通过ab –V命令则会显示ab的相迎版本，如上图示。&lt;/p&gt;&#xA;&lt;p&gt;注意以上是在linux平台下进行安装的，如果是windows平台下，我们也可以下载对应的apache版本进行安装。&lt;/p&gt;&#xA;&lt;p&gt;目前apache最新版2.4.10，apache官网已经没有windows下载的版本。&lt;/p&gt;&#xA;&lt;p&gt;三、ab参数说明&lt;/p&gt;&#xA;&lt;p&gt;有关ab命令的使用，我们可以通过帮助命令进行查看。如下：&lt;/p&gt;&#xA;&lt;p&gt;ab &amp;ndash;help&lt;/p&gt;&#xA;&lt;p&gt;复制&lt;/p&gt;&#xA;&lt;p&gt;下面我们对这些参数，进行相关说明。如下：&lt;/p&gt;&#xA;&lt;pre tabindex=&#34;0&#34;&gt;&lt;code&gt;-n  在测试会话中所执行的请求个数。默认时，仅执行一个请求。&#xA;&#xA;-c  一次产生的请求个数。默认是一次一个。&#xA;&#xA;-t  测试所进行的最大秒数。其内部隐含值是-n 50000，它可以使对服务器的测试限制在一个固定的总时间以内。默认时，没有时间限制。&#xA;&#xA;-p  包含了需要POST的数据的文件。&#xA;&#xA;-P  对一个中转代理提供BASIC认证信任。用户名和密码由一个:隔开，并以base64编码形式发送。无论服务器是否需要(即, 是否发送了401认证需求代码)，此字符串都会被发送。&#xA;&#xA;-T  POST数据所使用的Content-type头信息。&#xA;&#xA;-v  设置显示信息的详细程度-4或更大值会显示头信息，3或更大值可以显示响应代码(404,200等),2或更大值可以显示警告和其他信息。&#xA;&#xA;-V  显示版本号并退出。&#xA;&#xA;-w  以HTML表的格式输出结果。默认时，它是白色背景的两列宽度的一张表。&#xA;&#xA;-i  执行HEAD请求，而不是GET。&#xA;&#xA;-x  设置&amp;lt;table&amp;gt;属性的字符串。&#xA;&#xA;-X  对请求使用代理服务器。&#xA;&#xA;-y  设置&amp;lt;tr&amp;gt;属性的字符串。&#xA;&#xA;-z  设置&amp;lt;td&amp;gt;属性的字符串。&#xA;&#xA;-C  对请求附加一个Cookie:行。其典型形式是name=value的一个参数对，此参数可以重复。&#xA;&#xA;-H  对请求附加额外的头信息。此参数的典型形式是一个有效的头信息行，其中包含了以冒号分隔的字段和值的对(如,&amp;#34;Accept-Encoding:zip/zop;8bit&amp;#34;)。&#xA;&#xA;-A  对服务器提供BASIC认证信任。用户名和密码由一个:隔开，并以base64编码形式发送。无论服务器是否需要(即,是否发送了401认证需求代码)，此字符串都会被发送。&#xA;&#xA;-h  显示使用方法。&#xA;&#xA;-d  不显示&amp;#34;percentage served within XX [ms] table&amp;#34;的消息(为以前的版本提供支持)。&#xA;&#xA;-e  产生一个以逗号分隔的(CSV)文件，其中包含了处理每个相应百分比的请求所需要(从1%到100%)的相应百分比的(以微妙为单位)时间。由于这种格式已经“二进制化”，所以比&amp;#39;gnuplot&amp;#39;格式更有用。&#xA;&#xA;-g  把所有测试结果写入一个&amp;#39;gnuplot&amp;#39;或者TSV(以Tab分隔的)文件。此文件可以方便地导入到Gnuplot,IDL,Mathematica,Igor甚至Excel中。其中的第一行为标题。&#xA;&#xA;-i  执行HEAD请求，而不是GET。&#xA;&#xA;-k  启用HTTP KeepAlive功能，即在一个HTTP会话中执行多个请求。默认时，不启用KeepAlive功能。&#xA;&#xA;-q  如果处理的请求数大于150，ab每处理大约10%或者100个请求时，会在stderr输出一个进度计数。此-q标记可以抑制这些信息。&#xA;&lt;/code&gt;&lt;/pre&gt;&lt;p&gt;复制&lt;/p&gt;</description>
      
    </item>
    <item>
      <title>ansible</title>
      <link>/post/%E6%8A%80%E6%9C%AF%E7%9B%B8%E5%85%B3/%E5%B8%B8%E7%94%A8%E5%B7%A5%E5%85%B7/ansible/</link>
      <pubDate>Thu, 21 Nov 2024 13:30:41 +0800</pubDate>
      <guid>/post/%E6%8A%80%E6%9C%AF%E7%9B%B8%E5%85%B3/%E5%B8%B8%E7%94%A8%E5%B7%A5%E5%85%B7/ansible/</guid>
      <description>&lt;ol&gt;&#xA;&lt;li&gt;安装&lt;/li&gt;&#xA;&lt;/ol&gt;&#xA;&lt;p&gt;yum -y install ansible&lt;/p&gt;&#xA;&lt;p&gt;ansible &amp;ndash;version&lt;/p&gt;&#xA;&lt;ol start=&#34;2&#34;&gt;&#xA;&lt;li&gt;添加控制机器&lt;/li&gt;&#xA;&lt;/ol&gt;&#xA;&lt;p&gt;ssh-copy-id -i .ssh/id_rsa.pub &lt;a href=&#34;mailto:root@192.168.100.20&#34;&gt;root@192.168.100.20&lt;/a&gt;&lt;/p&gt;&#xA;&lt;ol start=&#34;3&#34;&gt;&#xA;&lt;li&gt;添加到hosts文件中&lt;/li&gt;&#xA;&lt;/ol&gt;&#xA;&lt;p&gt;vim /etc/ansible/hosts&lt;/p&gt;&#xA;&lt;p&gt;Ansible 通过设备列表以分组的方式添加到 /etc/ansible/hosts 文件来实现对设备的管理，所以在正式管理之前，首先要编写好 hosts 文件。hosts 文件中，以[ ]包含的部分代表组名，设备列表支持主机名和IP地址。&lt;/p&gt;&#xA;&lt;p&gt;默认情况下，通过访问22端口（SSH）来管理设备。若目标主机使用了非默认的SSH端口，还可以在主机名称之后使用冒号加端口标明，以行为单位分隔配置。另外，hosts文件还支持通配符。&lt;/p&gt;&#xA;&lt;p&gt;[root@centos01 ~]# vim /etc/ansible/hosts&lt;/p&gt;&#xA;&lt;p&gt;&amp;hellip;&amp;hellip;&amp;hellip;&amp;hellip;&lt;/p&gt;&#xA;&lt;p&gt;[web]&lt;/p&gt;&#xA;&lt;p&gt;192.168.100.20&lt;/p&gt;&#xA;&lt;p&gt;192.168.100.30&lt;/p&gt;&#xA;&lt;p&gt;[test]&lt;/p&gt;&#xA;&lt;p&gt;&lt;a href=&#34;https://www.benet.com&#34;&gt;www.benet.com&lt;/a&gt;:222&lt;/p&gt;&#xA;&lt;p&gt;[mail]&lt;/p&gt;&#xA;&lt;p&gt;yj1.kgc.cn&lt;/p&gt;&#xA;&lt;p&gt;yj[2:5].kgc.cn&lt;/p&gt;&#xA;&lt;p&gt;可以将一个主机同时归置在不同的组中。&lt;/p&gt;&#xA;&lt;p&gt;配置完成之后，可以针对hosts定义的组进行远程操作，也可以针对组中的某一个或多个主机操作。例如：&lt;/p&gt;&#xA;&lt;p&gt;1）只对web组中192.168.1.2主机操作，通过—limit参数限定主机的变更。&lt;/p&gt;&#xA;&lt;p&gt;[root@centos01 ~]# ansible web -m command -a &amp;ldquo;systemctl status httpd&amp;rdquo; &amp;ndash;limit &amp;ldquo;192.168.100.20&amp;rdquo;&lt;/p&gt;&#xA;&lt;p&gt;192.168.100.20 | SUCCESS | rc=0 &amp;raquo;&lt;/p&gt;&#xA;&lt;p&gt;2）只对192.168.100.20主机操作。通过IP限定主机的变更。&lt;/p&gt;&#xA;&lt;p&gt;[root@centos01 ~]# ansible 192.168.100.20 -m command -a &amp;ldquo;systemctl status httpd&amp;rdquo;&lt;/p&gt;&#xA;&lt;p&gt;192.168.100.20 | SUCCESS | rc=0 &amp;raquo;&lt;/p&gt;</description>
      
    </item>
    <item>
      <title>apollo配置中心</title>
      <link>/post/%E6%8A%80%E6%9C%AF%E7%9B%B8%E5%85%B3/%E5%B8%B8%E7%94%A8%E5%B7%A5%E5%85%B7/apollo%E9%85%8D%E7%BD%AE%E4%B8%AD%E5%BF%83/</link>
      <pubDate>Thu, 21 Nov 2024 13:30:41 +0800</pubDate>
      <guid>/post/%E6%8A%80%E6%9C%AF%E7%9B%B8%E5%85%B3/%E5%B8%B8%E7%94%A8%E5%B7%A5%E5%85%B7/apollo%E9%85%8D%E7%BD%AE%E4%B8%AD%E5%BF%83/</guid>
      <description>&lt;p&gt;1.下载&#xA;git clone &lt;a href=&#34;mailto:git@gitcode.net&#34;&gt;git@gitcode.net&lt;/a&gt;:mirrors/ctripcorp/apollo.git&lt;/p&gt;&#xA;&lt;ol start=&#34;2&#34;&gt;&#xA;&lt;li&gt;数据库配置&#xA;a.scripts/sql/apolloconfigdb.sql&#xA;b.scripts/sql/apolloportaldb.sql&#xA;3.修改build.sh&lt;/li&gt;&#xA;&lt;/ol&gt;&#xA;&lt;pre tabindex=&#34;0&#34;&gt;&lt;code&gt;# apollo config db info&#xA;apollo_config_db_url=&amp;#39;jdbc:mysql://127.0.0.1:3306/ApolloConfigDB?characterEncoding=utf8&amp;#39;&#xA;apollo_config_db_username=&amp;#39;ace&amp;#39;&#xA;apollo_config_db_password=&amp;#39;123456&amp;#39;&#xA;&#xA;# apollo portal db info&#xA;apollo_portal_db_url=&amp;#39;jdbc:mysql://127.0.0.1:3306/ApolloPortalDB?characterEncoding=utf8&amp;#39;&#xA;apollo_portal_db_username=&amp;#39;ace&amp;#39;&#xA;apollo_portal_db_password=&amp;#39;123456&amp;#39;&#xA;&#xA;# meta server url, different environments should have different meta server addresses&#xA;dev_meta=http://localhost:8080&#xA;fat_meta=http://localhost:8080&#xA;uat_meta=http://localhost:8080&#xA;pro_meta=http://localhost:8080&#xA;&lt;/code&gt;&lt;/pre&gt;&lt;p&gt;4.修改项目配置，修改日志路径&lt;/p&gt;&#xA;&lt;pre tabindex=&#34;0&#34;&gt;&lt;code&gt;apollo-adminservice/src/main/resources/application.yml&#xA;apollo-configservice/src/main/resources/application.yml&#xA;apollo-portal/src/main/resources/application.yml&#xA;logging:&#xA;  file:&#xA;    name: /Users/zuoerdong/var/logs/apollo-adminservice.log&#xA;&lt;/code&gt;&lt;/pre&gt;&lt;p&gt;5.编译scripts/build.sh&#xA;6.运行，注意先检查8080，8090，8070端口&#xA;java -jar apollo-configservice/target/apollo-configservice-2.2.0-SNAPSHOT.jar&#xA;java -jar apollo-adminservice/target/apollo-adminservice-2.2.0-SNAPSHOT&#xA;java -jar apollo-portal/target/apollo-portal-2.2.0-SNAPSHOT.jar&#xA;7.后台管理界面：http://localhost:8070/，默认apollo/admin&lt;/p&gt;</description>
      
    </item>
    <item>
      <title>bashrc</title>
      <link>/post/%E6%8A%80%E6%9C%AF%E7%9B%B8%E5%85%B3/%E5%B8%B8%E7%94%A8%E5%B7%A5%E5%85%B7/bashrc/</link>
      <pubDate>Thu, 21 Nov 2024 13:30:41 +0800</pubDate>
      <guid>/post/%E6%8A%80%E6%9C%AF%E7%9B%B8%E5%85%B3/%E5%B8%B8%E7%94%A8%E5%B7%A5%E5%85%B7/bashrc/</guid>
      <description>&lt;pre tabindex=&#34;0&#34;&gt;&lt;code&gt;# .bashrc&#xA;&#xA;# Source global definitions&#xA;&#xA;if [ -f /etc/bashrc ]; then&#xA;&#xA;        . /etc/bashrc&#xA;&#xA;fi&#xA;&#xA;# User specific aliases and functions&#xA;&#xA;#alias cdlog=&amp;#39;cd /home/work/var/log/`date +%Y%m%d` &amp;#39;&#xA;&#xA;alias ll=&amp;#39;ls -lG&amp;#39;&#xA;&#xA;alias ls=&amp;#39;ls -G&amp;#39;&#xA;&#xA;export GREP_OPTIONS=&amp;#39;--color=auto&amp;#39;&#xA;&#xA;export PATH=&amp;#34;$PATH:/Users/zuoerdong/bin&amp;#34;&#xA;&#xA;export PATH=&amp;#34;$PATH:/usr/local/go/bin&amp;#34;&#xA;&#xA;function git_branch {&#xA;&#xA;    branch=&amp;#34;`git branch 2&amp;gt;/dev/null | grep &amp;#34;^\*&amp;#34; | sed -e &amp;#34;s/^\*\ //&amp;#34;`&amp;#34;&#xA;&#xA;    if [ &amp;#34;${branch}&amp;#34; != &amp;#34;&amp;#34; ];then&#xA;&#xA;        if [ &amp;#34;${branch}&amp;#34; = &amp;#34;(no branch)&amp;#34; ];then&#xA;&#xA;            branch=&amp;#34;(`git rev-parse --short HEAD`...)&amp;#34;&#xA;&#xA;        fi&#xA;&#xA;        echo &amp;#34; ($branch)&amp;#34;&#xA;&#xA;    fi&#xA;&#xA;}&#xA;&#xA;export PS1=&amp;#39;\u@\h \[\033[01;36m\]\W\[\033[01;32m\]$(git_branch)\[\033[00m\] \$ &amp;#39;&#xA;&lt;/code&gt;&lt;/pre&gt;</description>
      
    </item>
    <item>
      <title>安装samba</title>
      <link>/post/%E6%8A%80%E6%9C%AF%E7%9B%B8%E5%85%B3/%E5%B8%B8%E7%94%A8%E5%B7%A5%E5%85%B7/%E5%AE%89%E8%A3%85samba/</link>
      <pubDate>Thu, 21 Nov 2024 13:30:41 +0800</pubDate>
      <guid>/post/%E6%8A%80%E6%9C%AF%E7%9B%B8%E5%85%B3/%E5%B8%B8%E7%94%A8%E5%B7%A5%E5%85%B7/%E5%AE%89%E8%A3%85samba/</guid>
      <description>&lt;p&gt;1.安装yum install smb&lt;/p&gt;&#xA;&lt;p&gt;2.添加用户user add smbuser -s /sbin/nologin&lt;/p&gt;&#xA;&lt;p&gt;3.添加目录/etc/samba/smb.conf&lt;/p&gt;&#xA;&lt;p&gt;        [share]&lt;/p&gt;&#xA;&lt;p&gt;        path = /home/smbuser/share&lt;/p&gt;&#xA;&lt;p&gt;        available = yes&lt;/p&gt;&#xA;&lt;p&gt;        browseable = yes&lt;/p&gt;&#xA;&lt;p&gt;        public = yes&lt;/p&gt;&#xA;&lt;p&gt;        writable = yes&lt;/p&gt;&#xA;&lt;p&gt;        valid users = smbuser&lt;/p&gt;&#xA;&lt;p&gt;        create mask = 0644&lt;/p&gt;&#xA;&lt;p&gt;        directory mask =0744&lt;/p&gt;&#xA;&lt;p&gt;3.解决selinux&lt;/p&gt;&#xA;&lt;p&gt;chcon -t samba_share_t /home/smbuser/share/&lt;/p&gt;</description>
      
    </item>
    <item>
      <title>查看redis客户端ip</title>
      <link>/post/%E6%8A%80%E6%9C%AF%E7%9B%B8%E5%85%B3/%E5%B8%B8%E7%94%A8%E5%B7%A5%E5%85%B7/%E6%9F%A5%E7%9C%8Bredis%E5%AE%A2%E6%88%B7%E7%AB%AFip/</link>
      <pubDate>Thu, 21 Nov 2024 13:30:41 +0800</pubDate>
      <guid>/post/%E6%8A%80%E6%9C%AF%E7%9B%B8%E5%85%B3/%E5%B8%B8%E7%94%A8%E5%B7%A5%E5%85%B7/%E6%9F%A5%E7%9C%8Bredis%E5%AE%A2%E6%88%B7%E7%AB%AFip/</guid>
      <description>&lt;p&gt;redis-cli -c -h 10.15.9.166 -p 6379 -a xxxxxx client list | awk &amp;lsquo;{print$2}&amp;rsquo; | awk -F &amp;lsquo;:&amp;rsquo; &amp;lsquo;{print$1}&amp;rsquo; | sort | uniq&lt;/p&gt;</description>
      
    </item>
    <item>
      <title>批量修改文件权限</title>
      <link>/post/%E6%8A%80%E6%9C%AF%E7%9B%B8%E5%85%B3/%E5%B8%B8%E7%94%A8%E5%B7%A5%E5%85%B7/%E6%89%B9%E9%87%8F%E4%BF%AE%E6%94%B9%E6%96%87%E4%BB%B6%E6%9D%83%E9%99%90/</link>
      <pubDate>Thu, 21 Nov 2024 13:30:41 +0800</pubDate>
      <guid>/post/%E6%8A%80%E6%9C%AF%E7%9B%B8%E5%85%B3/%E5%B8%B8%E7%94%A8%E5%B7%A5%E5%85%B7/%E6%89%B9%E9%87%8F%E4%BF%AE%E6%94%B9%E6%96%87%E4%BB%B6%E6%9D%83%E9%99%90/</guid>
      <description>&lt;p&gt;修改目录权限&lt;/p&gt;&#xA;&lt;p&gt;&lt;code&gt;find ./ -type d -exec chomd 755 {} \;&lt;/code&gt;&lt;/p&gt;&#xA;&lt;p&gt;修改文件权限&lt;/p&gt;&#xA;&lt;p&gt;&lt;code&gt;find ./ -type f -exec chmod 644 {} \;&lt;/code&gt;&lt;/p&gt;</description>
      
    </item>
    <item>
      <title>一致性hash</title>
      <link>/post/%E6%8A%80%E6%9C%AF%E7%9B%B8%E5%85%B3/%E5%B8%B8%E7%94%A8%E5%B7%A5%E5%85%B7/%E4%B8%80%E8%87%B4%E6%80%A7hash/</link>
      <pubDate>Thu, 21 Nov 2024 13:30:41 +0800</pubDate>
      <guid>/post/%E6%8A%80%E6%9C%AF%E7%9B%B8%E5%85%B3/%E5%B8%B8%E7%94%A8%E5%B7%A5%E5%85%B7/%E4%B8%80%E8%87%B4%E6%80%A7hash/</guid>
      <description>&lt;p&gt;上来先说一个误区，&lt;strong&gt;Redis 集群没有使用一致性hash, 而是引入了哈希槽slots的概念。&lt;/strong&gt;&lt;/p&gt;</description>
      
    </item>
    <item>
      <title>重建索引</title>
      <link>/post/%E6%8A%80%E6%9C%AF%E7%9B%B8%E5%85%B3/%E5%B8%B8%E7%94%A8%E5%B7%A5%E5%85%B7/%E9%87%8D%E5%BB%BA%E7%B4%A2%E5%BC%95/</link>
      <pubDate>Thu, 21 Nov 2024 13:30:41 +0800</pubDate>
      <guid>/post/%E6%8A%80%E6%9C%AF%E7%9B%B8%E5%85%B3/%E5%B8%B8%E7%94%A8%E5%B7%A5%E5%85%B7/%E9%87%8D%E5%BB%BA%E7%B4%A2%E5%BC%95/</guid>
      <description>&lt;pre tabindex=&#34;0&#34;&gt;&lt;code&gt;1.新建一个新索引portal-im-base-api-2021-09-back&#xA;put portal-im-base-api-2021-09-back&#xA;{&#xA;&amp;#34;settings&amp;#34; : {&#xA;    &amp;#34;index&amp;#34; : {&#xA;&#x9;&#x9;&amp;#34;opendistro&amp;#34;: {&#xA;&#x9;&#x9;&#x9;&amp;#34;index_state_management&amp;#34;: {&#xA;&#x9;&#x9;&#x9;&#x9;&amp;#34;policy_id&amp;#34;: &amp;#34;month_cold_workflow_delete_62d&amp;#34;&#xA;&#x9;&#x9;&#x9;}&#xA;&#x9;&#x9;},&#xA;&#x9; &amp;#34;refresh_interval&amp;#34;: &amp;#34;60s&amp;#34;,&#xA;      &amp;#34;number_of_shards&amp;#34; : 5,&#xA;      &amp;#34;number_of_replicas&amp;#34; : 1&#xA;    }&#xA;  },&#xA;&#x9;&amp;#34;mappings&amp;#34;: {&#xA;&#x9;&#x9;&amp;#34;properties&amp;#34;: {&#xA;&#x9;&#x9;&#x9;&amp;#34;@timestamp&amp;#34;: {&#xA;&#x9;&#x9;&#x9;&#x9;&amp;#34;type&amp;#34;: &amp;#34;date&amp;#34;&#xA;&#x9;&#x9;&#x9;},&#xA;&#x9;&#x9;&#x9;&amp;#34;@version&amp;#34;: {&#xA;&#x9;&#x9;&#x9;&#x9;&amp;#34;type&amp;#34;: &amp;#34;text&amp;#34;,&#xA;&#x9;&#x9;&#x9;&#x9;&amp;#34;fields&amp;#34;: {&#xA;&#x9;&#x9;&#x9;&#x9;&#x9;&amp;#34;keyword&amp;#34;: {&#xA;&#x9;&#x9;&#x9;&#x9;&#x9;&#x9;&amp;#34;type&amp;#34;: &amp;#34;keyword&amp;#34;,&#xA;&#x9;&#x9;&#x9;&#x9;&#x9;&#x9;&amp;#34;ignore_above&amp;#34;: 256&#xA;&#x9;&#x9;&#x9;&#x9;&#x9;}&#xA;&#x9;&#x9;&#x9;&#x9;}&#xA;&#x9;&#x9;&#x9;},&#xA;&#x9;&#x9;&#x9;&amp;#34;class_name&amp;#34;: {&#xA;&#x9;&#x9;&#x9;&#x9;&amp;#34;type&amp;#34;: &amp;#34;text&amp;#34;,&#xA;&#x9;&#x9;&#x9;&#x9;&amp;#34;fields&amp;#34;: {&#xA;&#x9;&#x9;&#x9;&#x9;&#x9;&amp;#34;keyword&amp;#34;: {&#xA;&#x9;&#x9;&#x9;&#x9;&#x9;&#x9;&amp;#34;type&amp;#34;: &amp;#34;keyword&amp;#34;,&#xA;&#x9;&#x9;&#x9;&#x9;&#x9;&#x9;&amp;#34;ignore_above&amp;#34;: 256&#xA;&#x9;&#x9;&#x9;&#x9;&#x9;}&#xA;&#x9;&#x9;&#x9;&#x9;}&#xA;&#x9;&#x9;&#x9;},&#xA;&#x9;&#x9;&#x9;&amp;#34;exportable&amp;#34;: {&#xA;&#x9;&#x9;&#x9;&#x9;&amp;#34;type&amp;#34;: &amp;#34;text&amp;#34;,&#xA;&#x9;&#x9;&#x9;&#x9;&amp;#34;fields&amp;#34;: {&#xA;&#x9;&#x9;&#x9;&#x9;&#x9;&amp;#34;keyword&amp;#34;: {&#xA;&#x9;&#x9;&#x9;&#x9;&#x9;&#x9;&amp;#34;type&amp;#34;: &amp;#34;keyword&amp;#34;,&#xA;&#x9;&#x9;&#x9;&#x9;&#x9;&#x9;&amp;#34;ignore_above&amp;#34;: 256&#xA;&#x9;&#x9;&#x9;&#x9;&#x9;}&#xA;&#x9;&#x9;&#x9;&#x9;}&#xA;&#x9;&#x9;&#x9;},&#xA;&#x9;&#x9;&#x9;&amp;#34;index&amp;#34;: {&#xA;&#x9;&#x9;&#x9;&#x9;&amp;#34;type&amp;#34;: &amp;#34;text&amp;#34;,&#xA;&#x9;&#x9;&#x9;&#x9;&amp;#34;fields&amp;#34;: {&#xA;&#x9;&#x9;&#x9;&#x9;&#x9;&amp;#34;keyword&amp;#34;: {&#xA;&#x9;&#x9;&#x9;&#x9;&#x9;&#x9;&amp;#34;type&amp;#34;: &amp;#34;keyword&amp;#34;,&#xA;&#x9;&#x9;&#x9;&#x9;&#x9;&#x9;&amp;#34;ignore_above&amp;#34;: 256&#xA;&#x9;&#x9;&#x9;&#x9;&#x9;}&#xA;&#x9;&#x9;&#x9;&#x9;}&#xA;&#x9;&#x9;&#x9;},&#xA;&#x9;&#x9;&#x9;&amp;#34;line_number&amp;#34;: {&#xA;&#x9;&#x9;&#x9;&#x9;&amp;#34;type&amp;#34;: &amp;#34;text&amp;#34;,&#xA;&#x9;&#x9;&#x9;&#x9;&amp;#34;fields&amp;#34;: {&#xA;&#x9;&#x9;&#x9;&#x9;&#x9;&amp;#34;keyword&amp;#34;: {&#xA;&#x9;&#x9;&#x9;&#x9;&#x9;&#x9;&amp;#34;type&amp;#34;: &amp;#34;keyword&amp;#34;,&#xA;&#x9;&#x9;&#x9;&#x9;&#x9;&#x9;&amp;#34;ignore_above&amp;#34;: 256&#xA;&#x9;&#x9;&#x9;&#x9;&#x9;}&#xA;&#x9;&#x9;&#x9;&#x9;}&#xA;&#x9;&#x9;&#x9;},&#xA;&#x9;&#x9;&#x9;&amp;#34;log_level&amp;#34;: {&#xA;&#x9;&#x9;&#x9;&#x9;&amp;#34;type&amp;#34;: &amp;#34;text&amp;#34;,&#xA;&#x9;&#x9;&#x9;&#x9;&amp;#34;fields&amp;#34;: {&#xA;&#x9;&#x9;&#x9;&#x9;&#x9;&amp;#34;keyword&amp;#34;: {&#xA;&#x9;&#x9;&#x9;&#x9;&#x9;&#x9;&amp;#34;type&amp;#34;: &amp;#34;keyword&amp;#34;,&#xA;&#x9;&#x9;&#x9;&#x9;&#x9;&#x9;&amp;#34;ignore_above&amp;#34;: 256&#xA;&#x9;&#x9;&#x9;&#x9;&#x9;}&#xA;&#x9;&#x9;&#x9;&#x9;}&#xA;&#x9;&#x9;&#x9;},&#xA;&#x9;&#x9;&#x9;&amp;#34;logdate&amp;#34;: {&#xA;&#x9;&#x9;&#x9;&#x9;&amp;#34;type&amp;#34;: &amp;#34;date&amp;#34;&#xA;&#x9;&#x9;&#x9;},&#xA;&#x9;&#x9;&#x9;&amp;#34;logger_name&amp;#34;: {&#xA;&#x9;&#x9;&#x9;&#x9;&amp;#34;type&amp;#34;: &amp;#34;text&amp;#34;,&#xA;&#x9;&#x9;&#x9;&#x9;&amp;#34;fields&amp;#34;: {&#xA;&#x9;&#x9;&#x9;&#x9;&#x9;&amp;#34;keyword&amp;#34;: {&#xA;&#x9;&#x9;&#x9;&#x9;&#x9;&#x9;&amp;#34;type&amp;#34;: &amp;#34;keyword&amp;#34;,&#xA;&#x9;&#x9;&#x9;&#x9;&#x9;&#x9;&amp;#34;ignore_above&amp;#34;: 256&#xA;&#x9;&#x9;&#x9;&#x9;&#x9;}&#xA;&#x9;&#x9;&#x9;&#x9;}&#xA;&#x9;&#x9;&#x9;},&#xA;&#x9;&#x9;&#x9;&amp;#34;message&amp;#34;: {&#xA;&#x9;&#x9;&#x9;&#x9;&amp;#34;type&amp;#34;: &amp;#34;text&amp;#34;&#xA;&#x9;&#x9;&#x9;},&#xA;&#x9;&#x9;&#x9;&amp;#34;parent&amp;#34;: {&#xA;&#x9;&#x9;&#x9;&#x9;&amp;#34;type&amp;#34;: &amp;#34;text&amp;#34;,&#xA;&#x9;&#x9;&#x9;&#x9;&amp;#34;fields&amp;#34;: {&#xA;&#x9;&#x9;&#x9;&#x9;&#x9;&amp;#34;keyword&amp;#34;: {&#xA;&#x9;&#x9;&#x9;&#x9;&#x9;&#x9;&amp;#34;type&amp;#34;: &amp;#34;keyword&amp;#34;,&#xA;&#x9;&#x9;&#x9;&#x9;&#x9;&#x9;&amp;#34;ignore_above&amp;#34;: 256&#xA;&#x9;&#x9;&#x9;&#x9;&#x9;}&#xA;&#x9;&#x9;&#x9;&#x9;}&#xA;&#x9;&#x9;&#x9;},&#xA;&#x9;&#x9;&#x9;&amp;#34;pod&amp;#34;: {&#xA;&#x9;&#x9;&#x9;&#x9;&amp;#34;properties&amp;#34;: {&#xA;&#x9;&#x9;&#x9;&#x9;&#x9;&amp;#34;name&amp;#34;: {&#xA;&#x9;&#x9;&#x9;&#x9;&#x9;&#x9;&amp;#34;type&amp;#34;: &amp;#34;text&amp;#34;,&#xA;&#x9;&#x9;&#x9;&#x9;&#x9;&#x9;&amp;#34;fields&amp;#34;: {&#xA;&#x9;&#x9;&#x9;&#x9;&#x9;&#x9;&#x9;&amp;#34;keyword&amp;#34;: {&#xA;&#x9;&#x9;&#x9;&#x9;&#x9;&#x9;&#x9;&#x9;&amp;#34;type&amp;#34;: &amp;#34;keyword&amp;#34;,&#xA;&#x9;&#x9;&#x9;&#x9;&#x9;&#x9;&#x9;&#x9;&amp;#34;ignore_above&amp;#34;: 256&#xA;&#x9;&#x9;&#x9;&#x9;&#x9;&#x9;&#x9;}&#xA;&#x9;&#x9;&#x9;&#x9;&#x9;&#x9;}&#xA;&#x9;&#x9;&#x9;&#x9;&#x9;}&#xA;&#x9;&#x9;&#x9;&#x9;}&#xA;&#x9;&#x9;&#x9;},&#xA;&#x9;&#x9;&#x9;&amp;#34;project&amp;#34;: {&#xA;&#x9;&#x9;&#x9;&#x9;&amp;#34;type&amp;#34;: &amp;#34;text&amp;#34;,&#xA;&#x9;&#x9;&#x9;&#x9;&amp;#34;fields&amp;#34;: {&#xA;&#x9;&#x9;&#x9;&#x9;&#x9;&amp;#34;keyword&amp;#34;: {&#xA;&#x9;&#x9;&#x9;&#x9;&#x9;&#x9;&amp;#34;type&amp;#34;: &amp;#34;keyword&amp;#34;,&#xA;&#x9;&#x9;&#x9;&#x9;&#x9;&#x9;&amp;#34;ignore_above&amp;#34;: 256&#xA;&#x9;&#x9;&#x9;&#x9;&#x9;}&#xA;&#x9;&#x9;&#x9;&#x9;}&#xA;&#x9;&#x9;&#x9;},&#xA;&#x9;&#x9;&#x9;&amp;#34;span&amp;#34;: {&#xA;&#x9;&#x9;&#x9;&#x9;&amp;#34;type&amp;#34;: &amp;#34;text&amp;#34;,&#xA;&#x9;&#x9;&#x9;&#x9;&amp;#34;fields&amp;#34;: {&#xA;&#x9;&#x9;&#x9;&#x9;&#x9;&amp;#34;keyword&amp;#34;: {&#xA;&#x9;&#x9;&#x9;&#x9;&#x9;&#x9;&amp;#34;type&amp;#34;: &amp;#34;keyword&amp;#34;,&#xA;&#x9;&#x9;&#x9;&#x9;&#x9;&#x9;&amp;#34;ignore_above&amp;#34;: 256&#xA;&#x9;&#x9;&#x9;&#x9;&#x9;}&#xA;&#x9;&#x9;&#x9;&#x9;}&#xA;&#x9;&#x9;&#x9;},&#xA;&#x9;&#x9;&#x9;&amp;#34;stack_trace&amp;#34;: {&#xA;&#x9;&#x9;&#x9;&#x9;&amp;#34;type&amp;#34;: &amp;#34;text&amp;#34;,&#xA;&#x9;&#x9;&#x9;&#x9;&amp;#34;fields&amp;#34;: {&#xA;&#x9;&#x9;&#x9;&#x9;&#x9;&amp;#34;keyword&amp;#34;: {&#xA;&#x9;&#x9;&#x9;&#x9;&#x9;&#x9;&amp;#34;type&amp;#34;: &amp;#34;keyword&amp;#34;,&#xA;&#x9;&#x9;&#x9;&#x9;&#x9;&#x9;&amp;#34;ignore_above&amp;#34;: 256&#xA;&#x9;&#x9;&#x9;&#x9;&#x9;}&#xA;&#x9;&#x9;&#x9;&#x9;}&#xA;&#x9;&#x9;&#x9;},&#xA;&#x9;&#x9;&#x9;&amp;#34;thread&amp;#34;: {&#xA;&#x9;&#x9;&#x9;&#x9;&amp;#34;type&amp;#34;: &amp;#34;text&amp;#34;,&#xA;&#x9;&#x9;&#x9;&#x9;&amp;#34;fields&amp;#34;: {&#xA;&#x9;&#x9;&#x9;&#x9;&#x9;&amp;#34;keyword&amp;#34;: {&#xA;&#x9;&#x9;&#x9;&#x9;&#x9;&#x9;&amp;#34;type&amp;#34;: &amp;#34;keyword&amp;#34;,&#xA;&#x9;&#x9;&#x9;&#x9;&#x9;&#x9;&amp;#34;ignore_above&amp;#34;: 256&#xA;&#x9;&#x9;&#x9;&#x9;&#x9;}&#xA;&#x9;&#x9;&#x9;&#x9;}&#xA;&#x9;&#x9;&#x9;},&#xA;&#x9;&#x9;&#x9;&amp;#34;trace&amp;#34;: {&#xA;&#x9;&#x9;&#x9;&#x9;&amp;#34;type&amp;#34;: &amp;#34;text&amp;#34;,&#xA;&#x9;&#x9;&#x9;&#x9;&amp;#34;fields&amp;#34;: {&#xA;&#x9;&#x9;&#x9;&#x9;&#x9;&amp;#34;keyword&amp;#34;: {&#xA;&#x9;&#x9;&#x9;&#x9;&#x9;&#x9;&amp;#34;type&amp;#34;: &amp;#34;keyword&amp;#34;,&#xA;&#x9;&#x9;&#x9;&#x9;&#x9;&#x9;&amp;#34;ignore_above&amp;#34;: 256&#xA;&#x9;&#x9;&#x9;&#x9;&#x9;}&#xA;&#x9;&#x9;&#x9;&#x9;}&#xA;&#x9;&#x9;&#x9;}&#xA;&#x9;&#x9;}&#xA;&#x9;}&#xA;}&#xA;2.迁移老索引portal-im-base-api-2021-09的数据到新索引portal-im-base-api-2021-09-back&#xA;POST _reindex?wait_for_completion=false&#xA;{&#xA;&#x9;&amp;#34;source&amp;#34;: {&#xA;&#x9;&#x9;&amp;#34;index&amp;#34;: &amp;#34;portal-im-base-api-2021-09&amp;#34;,&#xA;&#x9;&#x9;&amp;#34;size&amp;#34;: 5000, &#xA;&#x9;},&#xA;&#x9;&amp;#34;dest&amp;#34;: {&#xA;&#x9;&#x9;&amp;#34;index&amp;#34;: &amp;#34;portal-im-base-api-2021-09-back&amp;#34;&#xA;&#x9;}&#xA;}&#xA;&#xA;执行会反馈task ID  可以 GET _task/ID&#xA;&#xA;3.删除老索引portal-im-base-api-2021-09&#xA;delete portal-im-base-api-2021-09&#xA;&#xA;4-5可选&#xA;&#xA;&#xA;4.为新索引portal-im-base-api-2021-09-back添加别名为老索引的名字portal-im-base-api-2021-09&#xA;POST _aliases&#xA;{&#xA;&#x9;&amp;#34;actions&amp;#34;: [{&#xA;&#x9;&#x9;&amp;#34;add&amp;#34;: {&#xA;&#x9;&#x9;&#x9;&amp;#34;index&amp;#34;: &amp;#34;portal-im-base-api-2021-09-back&amp;#34;,&#xA;&#x9;&#x9;&#x9;&amp;#34;alias&amp;#34;: &amp;#34;portal-im-base-api-2021-09&amp;#34;&#xA;&#x9;&#x9;}&#xA;&#x9;}]&#xA;}&#xA;&#xA;5.迁移老索引portal-im-base-api-2021-09的数据到新索引portal-im-base-api-2021-09-back&#xA;POST _reindex?wait_for_completion=false&#xA;{&#xA;&#x9;&amp;#34;source&amp;#34;: {&#xA;&#x9;&#x9;&amp;#34;index&amp;#34;: &amp;#34;portal-im-base-api-2021-09&amp;#34;,&#xA;&#x9;&#x9;&amp;#34;size&amp;#34;: 5000, &#xA;&#x9;&#x9;&amp;#34;query&amp;#34;: {&#xA;&#x9;&#x9;  &amp;#34;match&amp;#34;: {&#xA;&#x9;&#x9;    &amp;#34;FIELD&amp;#34;: &amp;#34;TEXT&amp;#34;&#xA;&#x9;&#x9;  }&#xA;&#x9;&#x9;}&#xA;&#x9;},&#xA;&#x9;&amp;#34;dest&amp;#34;: {&#xA;&#x9;&#x9;&amp;#34;index&amp;#34;: &amp;#34;portal-im-base-api-2021-09-back&amp;#34;&#xA;&#x9;}&#xA;}&#xA;&lt;/code&gt;&lt;/pre&gt;</description>
      
    </item>
    <item>
      <title>mac清理dns缓存</title>
      <link>/post/%E6%8A%80%E6%9C%AF%E7%9B%B8%E5%85%B3/%E8%A7%A3%E5%86%B3%E9%97%AE%E9%A2%98/mac-clean-dns-cache/</link>
      <pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate>
      <guid>/post/%E6%8A%80%E6%9C%AF%E7%9B%B8%E5%85%B3/%E8%A7%A3%E5%86%B3%E9%97%AE%E9%A2%98/mac-clean-dns-cache/</guid>
      <description>&lt;table&gt;&#xA;  &lt;thead&gt;&#xA;      &lt;tr&gt;&#xA;          &lt;th&gt;MacOS 版本&lt;/th&gt;&#xA;          &lt;th&gt;使用的命令&lt;/th&gt;&#xA;      &lt;/tr&gt;&#xA;  &lt;/thead&gt;&#xA;  &lt;tbody&gt;&#xA;      &lt;tr&gt;&#xA;          &lt;td&gt;macOS 12 (Monterey)&lt;/td&gt;&#xA;          &lt;td&gt;&lt;code&gt;sudo dscacheutil -flushcache; sudo killall -HUP mDNSResponder&lt;/code&gt;&lt;/td&gt;&#xA;      &lt;/tr&gt;&#xA;      &lt;tr&gt;&#xA;          &lt;td&gt;macOS 11 (Big Sur)&lt;/td&gt;&#xA;          &lt;td&gt;&lt;code&gt;sudo dscacheutil -flushcache; sudo killall -HUP mDNSResponder&lt;/code&gt;&lt;/td&gt;&#xA;      &lt;/tr&gt;&#xA;      &lt;tr&gt;&#xA;          &lt;td&gt;macOS 10.15 (Catalina)&lt;/td&gt;&#xA;          &lt;td&gt;&lt;code&gt;sudo dscacheutil -flushcache; sudo killall -HUP mDNSResponder&lt;/code&gt;&lt;/td&gt;&#xA;      &lt;/tr&gt;&#xA;      &lt;tr&gt;&#xA;          &lt;td&gt;macOS 10.14 (Mojave)&lt;/td&gt;&#xA;          &lt;td&gt;&lt;code&gt;sudo killall -HUP mDNSResponder&lt;/code&gt;&lt;/td&gt;&#xA;      &lt;/tr&gt;&#xA;      &lt;tr&gt;&#xA;          &lt;td&gt;macOS 10.13 (High Sierra)&lt;/td&gt;&#xA;          &lt;td&gt;&lt;code&gt;sudo killall -HUP mDNSResponder&lt;/code&gt;&lt;/td&gt;&#xA;      &lt;/tr&gt;&#xA;      &lt;tr&gt;&#xA;          &lt;td&gt;macOS 10.12 (Sierra)&lt;/td&gt;&#xA;          &lt;td&gt;&lt;code&gt;sudo killall -HUP mDNSResponder&lt;/code&gt;&lt;/td&gt;&#xA;      &lt;/tr&gt;&#xA;      &lt;tr&gt;&#xA;          &lt;td&gt;OS X 10.11 (El Capitan)&lt;/td&gt;&#xA;          &lt;td&gt;&lt;code&gt;sudo killall -HUP mDNSResponder&lt;/code&gt;&lt;/td&gt;&#xA;      &lt;/tr&gt;&#xA;      &lt;tr&gt;&#xA;          &lt;td&gt;OS X 10.10 (Yosemite)&lt;/td&gt;&#xA;          &lt;td&gt;&lt;code&gt;sudo discoveryutil udnsflushcaches&lt;/code&gt;&lt;/td&gt;&#xA;      &lt;/tr&gt;&#xA;      &lt;tr&gt;&#xA;          &lt;td&gt;OS X 10.9 (Mavericks)&lt;/td&gt;&#xA;          &lt;td&gt;&lt;code&gt;sudo killall -HUP mDNSResponder&lt;/code&gt;&lt;/td&gt;&#xA;      &lt;/tr&gt;&#xA;      &lt;tr&gt;&#xA;          &lt;td&gt;OS X 10.8 (Mountain Lion)&lt;/td&gt;&#xA;          &lt;td&gt;&lt;code&gt;sudo killall -HUP mDNSResponder&lt;/code&gt;&lt;/td&gt;&#xA;      &lt;/tr&gt;&#xA;      &lt;tr&gt;&#xA;          &lt;td&gt;Mac OS X 10.7 (Lion)&lt;/td&gt;&#xA;          &lt;td&gt;&lt;code&gt;sudo killall -HUP mDNSResponder&lt;/code&gt;&lt;/td&gt;&#xA;      &lt;/tr&gt;&#xA;      &lt;tr&gt;&#xA;          &lt;td&gt;Mac OS X 10.6 (Snow Leopard)&lt;/td&gt;&#xA;          &lt;td&gt;&lt;code&gt;sudo dscacheutil -flushcache&lt;/code&gt;&lt;/td&gt;&#xA;      &lt;/tr&gt;&#xA;      &lt;tr&gt;&#xA;          &lt;td&gt;Mac OS X 10.5 (Leopard)&lt;/td&gt;&#xA;          &lt;td&gt;&lt;code&gt;sudo lookupd -flushcache&lt;/code&gt;&lt;/td&gt;&#xA;      &lt;/tr&gt;&#xA;      &lt;tr&gt;&#xA;          &lt;td&gt;Mac OS X 10.4 (Tiger)&lt;/td&gt;&#xA;          &lt;td&gt;&lt;code&gt;lookupd -flushcache&lt;/code&gt;&lt;/td&gt;&#xA;      &lt;/tr&gt;&#xA;  &lt;/tbody&gt;&#xA;&lt;/table&gt;</description>
      
    </item>
  </channel>
</rss>
