Docs/工作-盒子/日志备份归档操作步骤.html
2022-10-18 16:59:37 +08:00

165 lines
No EOL
9.7 KiB
HTML
Raw Permalink Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8">
<meta name="tool" content="leanote-desktop-app">
<title>日志备份归档操作步骤</title>
<style>
*{font-family:"lucida grande","lucida sans unicode",lucida,helvetica,"Hiragino Sans GB","Microsoft YaHei","WenQuanYi Micro Hei",sans-serif;}
body {
margin: 0;
}
/*公用文字样式*/
h1{font-size:30px}h2{font-size:24px}h3{font-size:18px}h4{font-size:14px}
.note-container{
width:850px;
margin:auto;
padding: 10px 20px;
box-shadow: 1px 1px 10px #eee;
}
#title {
margin: 0;
}
table {
margin-bottom: 16px;
border-collapse: collapse;
}
table th, table td {
padding: 6px 13px;
border: 1px solid #ddd;
}
table th {
font-weight: bold;
}
table tr {
background-color: none;
border-top: 1px solid #ccc;
}
table tr:nth-child(2n) {
background-color: rgb(247, 247, 249);
}
.mce-item-table, .mce-item-table td, .mce-item-table th, .mce-item-table caption {
border: 1px solid #ddd;
border-collapse: collapse;
padding: 6px 13px;
}
blockquote {
border-left-width:10px;
background-color:rgba(128,128,128,0.05);
border-top-right-radius:5px;
border-bottom-right-radius:5px;
padding:15px 20px;
border-left:5px solid rgba(128,128,128,0.075);
}
blockquote p {
margin-bottom:1.1em;
font-size:1em;
line-height:1.45
}
blockquote ul:last-child,blockquote ol:last-child {
margin-bottom:0
}
pre {
padding: 18px;
background-color: #f7f7f9;
border: 1px solid #e1e1e8;
border-radius: 3px;
display: block;
}
code {
padding: 2px 4px;
font-size: 90%;
color: #c7254e;
white-space: nowrap;
background-color: #f9f2f4;
border-radius: 4px;
}
.footnote {
vertical-align: top;
position: relative;
top: -0.5em;
font-size: .8em;
}
hr {
margin:2em 0
}
img {
max-width:100%
}
pre {
word-break:break-word
}
p,pre,pre.prettyprint,blockquote {
margin:0 0 1.1em
}
hr {
margin:2em 0
}
img {
max-width:100%
}
.sequence-diagram,.flow-chart {
text-align:center;
margin-bottom:1.1em
}
.sequence-diagram text,.flow-chart text {
font-size:15px !important;
font-family:"Source Sans Pro",sans-serif !important
}
.sequence-diagram [fill="#ffffff"],.flow-chart [fill="#ffffff"] {
fill:#f6f6f6
}
.sequence-diagram [stroke="#000000"],.flow-chart [stroke="#000000"] {
stroke:#3f3f3f
}
.sequence-diagram text[stroke="#000000"],.flow-chart text[stroke="#000000"] {
stroke:none
}
.sequence-diagram [fill="#000"],.flow-chart [fill="#000"],.sequence-diagram [fill="#000000"],.flow-chart [fill="#000000"],.sequence-diagram [fill="black"],.flow-chart [fill="black"] {
fill:#3f3f3f
}
ul,ol {
margin-bottom:1.1em
}
ul ul,ol ul,ul ol,ol ol {
margin-bottom:1.1em
}
kbd {
padding:.1em .6em;
border:1px solid rgba(63,63,63,0.25);
-webkit-box-shadow:0 1px 0 rgba(63,63,63,0.25);
box-shadow:0 1px 0 rgba(63,63,63,0.25);
font-size:.7em;
font-family:sans-serif;
background-color:#fff;
color:#333;
border-radius:3px;
display:inline-block;
margin:0 .1em;
white-space:nowrap
}
.toc ul {
list-style-type:none;
margin-bottom:15px
}
</style>
<!-- 该css供自定义样式 -->
<link href="../leanote-html.css" rel="stylesheet">
</head>
<body>
<div class="note-container">
<h1 class="title" id="leanote-title">日志备份归档操作步骤</h1>
<div class="content-html" id="leanote-content"><p>注:红色为注释说明的内容,绿色为示例内容,请以项目实际情况修改操作</p><p><span lang="EN-US">&nbsp;</span></p><ol><li><strong><span lang="EN-US">/opt/appl/assist/loggz</span></strong><strong>下创建脚本,文件名<span lang="EN-US">logarch_project.sh</span></strong><strong>,脚本内容如下:</strong></li></ol><p><span lang="EN-US">#!/bin/bash</span></p><p><span lang="EN-US">##</span>今天</p><p><span lang="EN-US">#TAR_DATE=`date +%Y-%m-%d`</span></p><p><span lang="EN-US">##</span>昨天,一般备份选择昨天,因为备份发生在凌晨昨天的日志一定是完整的</p><p><span lang="EN-US">TAR_DATE=`date -d last-day +%Y-%m-%d`</span></p><p><span lang="EN-US">##</span>当前的时间,命名文件必须使用</p><p><span lang="EN-US">TAR_TIME=`date +%H%M%S`</span></p><p><span lang="EN-US">##</span>定义删除文件的时间,留<span lang="EN-US">1-2</span>天的日志文件方便研发或测试用来排错。</p><p><span lang="EN-US">##</span>两天前</p><p><span lang="EN-US">DEL_DATE=`date -d '2 days ago' +%Y-%m-%d`</span></p><p><span lang="EN-US">##</span>定义日志文件的位置,<span lang="EN-US">server</span>为中间件服务日志,<span lang="EN-US">bizlog</span>为业务日志</p><p><span lang="EN-US">SERVER_PATH=/opt/appl/olio/tomcat/log/</span></p><p><span lang="EN-US">BIZLOG_PATH=/opt/appl/olio/tomcat/logs/olio/</span></p><p><span lang="EN-US">##</span>脚本执行输出日志</p><p><span lang="EN-US">LOGFILE_PATH=/var/log/logarch.log</span></p><p><span lang="EN-US">##</span>日志输出方法</p><p><span lang="EN-US">loginfo()</span></p><p><span lang="EN-US">{</span></p><p><span lang="EN-US">&nbsp; echo "$(date "+%Y-%m-%d_%H:%M:%S") [EXCU RECORD] $1" &gt;&gt; $LOGFILE_PATH</span></p><p><span lang="EN-US">}</span></p><p><span lang="EN-US">###</span>开始操作日志(拿<span lang="EN-US">olio</span>项目的<span lang="EN-US">app</span>日志举例,以下<span lang="EN-US">access</span><span lang="EN-US">interface</span>等与此相同)</p><p><span lang="EN-US">loginfo "App logfiles will be compressed."</span></p><p><span lang="EN-US">cd $BIZLOG_PATH/app</span></p><p><span lang="EN-US">tar zcvf&nbsp;olio.log-"$TAR_DATE"-"$TAR_TIME".tar.gz olio.log."$TAR_DATE"-* --remove-files &gt;&gt; $LOGFILE_PATH 2&gt;&amp;1</span></p><p><span lang="EN-US">tar zcvf&nbsp;fspf-statistics.log-"$TAR_DATE"-"$TAR_TIME".tar.gz fspf-statistics.log."$TAR_DATE"-* --remove-files &gt;&gt; $LOGFILE_PATH 2&gt;&amp;1</span></p><p><span lang="EN-US">loginfo "App logfiles Compression end."</span></p><p><span lang="EN-US">loginfo "App logfiles,Compressed will be deleted."</span></p><p><span lang="EN-US">&nbsp;</span></p><p><span lang="EN-US">##</span>如果<span lang="EN-US">gz</span>文件要归档在本机就不需要开启以下行,</p><p><span lang="EN-US">#rm -rf&nbsp;olio.log-"$DEL_DATE"-* &gt;&gt; $LOGFILE_PATH 2&gt;&amp;1</span></p><p><span lang="EN-US">#rm -rf&nbsp;fspf-statistics.log-"$DEL_DATE"-* &gt;&gt; $LOGFILE_PATH 2&gt;&amp;1</span></p><p><span lang="EN-US">loginfo "Access logfiles was deleted."</span></p><p><strong><span lang="EN-US">&nbsp;</span></strong></p><ol start="2"><li><strong>添加定时任务</strong></li></ol><p><span lang="EN-US">00 02 * * * /opt/appl/assist/loggz/logarch_project.sh &gt; /dev/null 2&gt;&amp;1</span></p><p><span lang="EN-US">&nbsp;</span></p><p><span lang="EN-US">&nbsp;</span></p><p><span lang="EN-US">&nbsp;</span></p><ol start="3"><li><strong>同步归档文件到日志备份服务器。</strong></li></ol><p>在日志服务器创建脚本如下内容<span lang="EN-US">rsync-172.16.4.71-project.sh</span></p><p><span lang="EN-US">#!/bin/sh</span></p><p><span lang="EN-US">##</span>归档文件位置变量定义</p><p><span lang="EN-US">APP_IP=172.16.4.71</span></p><p><span lang="EN-US">RYSNC_BASE=/logarch/CentLog</span></p><p><span lang="EN-US">RSYNC_HOME=$RYSNC_BASE/$APP_IP</span></p><p><span lang="EN-US">&nbsp;</span></p><p><span lang="EN-US">##</span>脚本日志位置定义</p><p><span lang="EN-US">LOG_BASE=/backup/rsync/log</span></p><p><span lang="EN-US">LOG_HOME=$LOG_BASE/$APP_IP</span></p><p><span lang="EN-US">LOG_FILE=$LOG_HOME/rsync_$(date +%Y-%m-%d)</span></p><p><span lang="EN-US">&nbsp;</span></p><p><span lang="EN-US">if [ ! -d "$RSYNC_HOME" ]; then</span></p><p><span lang="EN-US">&nbsp; mkdir $RSYNC_HOME</span></p><p><span lang="EN-US">fi</span></p><p><span lang="EN-US">&nbsp;</span></p><p><span lang="EN-US">if [ ! -d "$LOG_HOME" ]; then</span></p><p><span lang="EN-US">&nbsp; mkdir $LOG_HOME</span></p><p><span lang="EN-US">fi</span></p><p><span lang="EN-US">##</span>日志输出</p><p><span lang="EN-US">loginfo()</span></p><p><span lang="EN-US">{</span></p><p><span lang="EN-US">&nbsp; echo "$(date "+%Y-%m-%d_%H:%M") [ANIHC SAYS] $1" &gt;&gt;$LOG_FILE</span></p><p><span lang="EN-US">}</span></p><p><span lang="EN-US">##</span>同步服务日志归档</p><p><span lang="EN-US">##For dcqs jboss log</span></p><p><span lang="EN-US">loginfo "==========Synchronizing DCQS JBoss log=========="</span></p><p><span lang="EN-US">/usr/bin/rsync -arP--include "*.gz" --include="*/" --exclude "*" --password-file=/etc/rsyncd.pwd_dcqs&nbsp;rsync@${APP_IP}::jbslog_dcqs&nbsp;${RSYNC_HOME}/dcqs/jbslog&nbsp;&gt;&gt;$LOG_FILE</span></p><p><span lang="EN-US">loginfo "==========Synchronization done.=========="</span></p><p><span lang="EN-US">loginfo ""</span></p><p><span lang="EN-US">##</span>同步业务归档文件</p><p><span lang="EN-US">##for dcqs biz log</span></p><p><span lang="EN-US">loginfo "==========Synchronizing DCQS Business log=========="</span></p><p><span lang="EN-US">/usr/bin/rsync -arP --include "*.gz" --include="*/" --exclude "*" --password-file=/etc/rsyncd.pwd.dcqs&nbsp;rsync@${APP_IP}::bizlog_dcqs&nbsp;${RSYNC_HOME}/dcqs/bizlog/dataCenter&nbsp;&gt;&gt; $LOG_FILE</span></p><p><span lang="EN-US">loginfo "==========Synchronization done.=========="</span></p><p><span lang="EN-US">loginfo ""</span></p><p><span lang="EN-US">&nbsp;</span></p><p><span lang="EN-US">#</span>把此脚本写入到日志备份服务器的定时任务中</p><p><span lang="EN-US">00 03 * * * /xxxx/rsync-172.16.4.71-project.sh &gt; /dev/null 2&gt;&amp;1</span></p><p><span lang="EN-US">&nbsp;</span></p><p><strong>注意</strong><span lang="EN-US">rsync&nbsp;</span>命令中的源地址也就是文件提供方<span lang="EN-US">rsyncd.conf</span>中定义的模块。</p><p><span lang="EN-US">&nbsp;</span></p></div>
</div>
<!-- 该js供其它处理 -->
<script src="../leanote-html.js"></script>
</body>
</html>