<ruby id="bdb3f"></ruby>

    <p id="bdb3f"><cite id="bdb3f"></cite></p>

      <p id="bdb3f"><cite id="bdb3f"><th id="bdb3f"></th></cite></p><p id="bdb3f"></p>
        <p id="bdb3f"><cite id="bdb3f"></cite></p>

          <pre id="bdb3f"></pre>
          <pre id="bdb3f"><del id="bdb3f"><thead id="bdb3f"></thead></del></pre>

          <ruby id="bdb3f"><mark id="bdb3f"></mark></ruby><ruby id="bdb3f"></ruby>
          <pre id="bdb3f"><pre id="bdb3f"><mark id="bdb3f"></mark></pre></pre><output id="bdb3f"></output><p id="bdb3f"></p><p id="bdb3f"></p>

          <pre id="bdb3f"><del id="bdb3f"><progress id="bdb3f"></progress></del></pre>

                <ruby id="bdb3f"></ruby>

                ??一站式輕松地調用各大LLM模型接口,支持GPT4、智譜、豆包、星火、月之暗面及文生圖、文生視頻 廣告
                <p style="text-indent:2em;">一般情況下,可以通過`/root/.bash_history`文件中讀取到最近1000條的操作記錄,或者通過history命令直接顯示出來,但是這種方式讀取到的歷史記錄數據可讀性差,而且無法溯源,不清楚具體是哪個用戶使用哪個ip在何時進行操作的。</p> <p style="text-indent:2em;">為解決這個問題,可以通過配置`history`命令相關的環境變量來實現,也可以通過編寫shell腳本來實現。</p> <br> **history相關環境變量:** * HISTCONTROL:設置為 **ignorespace**, 以 space 開頭的行將不會插入到歷史列表中;設置為 **ignoredups**, 匹配上一次歷史記錄的行將不會插入;設置為 **ignoreboth**,會結合以上兩種情況;設置為**erasedups**,為清除整個命令歷史中的重復條目 * HISTFILE:保存命令歷史的文件名,默認值是 `~/.bash_history`。如果取消定義,在交互式 shell 退出時命令歷史將不會保存 * HISTFILESIZE:保存命令歷史的最大值 * HISTIGNORE:忽略掉常用的命令(alias),不將他們記錄到日志中,冒號為分隔符,如:`HISTIGNORE="ls *:ll:ls"` * HISTTIMEFORMAT:記錄命令執行的時間格式,如果不設置此變量HISTFILE文件中將不會記錄命令執行的時間戳 * PROMPT_COMMAND:該環境變量可以用于命令回調,如可以使用該變量來開啟操作日志記錄并存儲到指定文件 **方法一:** root用戶下,直接在`/etc/profile`文件中追加環境變量,可直接通過設置PROMPT_COMMAND變量來實現,該變量設置完可以實現實時調度將歷史記錄寫入文件 ``` [root@izwz91quxhnlkan8kjak5hz ~]# vi /etc/profile export HISTORY_FILE="/var/log/history/root.log" export PROMPT_COMMAND='{ date "+%Y-%m-%d %T $(history 1)"; } >> $HISTORY_FILE' ``` **方法二:** 以shell腳本方式實現實時寫入歷史記錄 第一步、編寫history.sh腳本,內容如下: ``` #!/usr/bin/env bash // 獲取用戶ip USER_IP=`who -u am i 2>/dev/null| awk '{print $NF}'|sed -e 's/[()]//g'` // 獲取當天日期 DT=`date +"%Y%m%d"` // 設置歷史記錄文件 export HISTORY_FILE="/var/log/history/${LOGNAME}/${DT}/${USER_IP}.log" dir=`dirname $HISTORY_FILE` if [ ! -d $dir ]; then mkdir -p $dir chmod 300 $dir fi export PROMPT_COMMAND='{ date "+%Y-%m-%d %T $(history 1)"; } >> $HISTORY_FILE' export HISTCONTROL=ignoredups ``` 第二步、在`/etc/profile`文件中調度history.sh腳本 ``` [root@izwz91quxhnlkan8kjak5hz ~]# vim /etc/profile source /etc/history.sh [root@izwz91quxhnlkan8kjak5hz ~]# source /etc/profile // 重新執行腳本 ``` **方法三:** 退出當前登錄或者關閉shell終端之后才寫入文件 ``` #!/usr/bin/env bash USER=`whoami` USER_IP=`who -u am i 2>/dev/null| awk '{print $NF}'|sed -e 's/[()]//g'` if [ "$USER_IP" = "" ]; then USER_IP=`hostname` fi if [ ! -d /var/log/history ]; then mkdir /var/log/history chmod 777 /var/log/history fi DT=`date +"%Y%m%d"` if [ ! -d /var/log/history/${LOGNAME}/${DT} ]; then mkdir /var/log/history/${LOGNAME}/${DT} chmod 300 /var/log/history/${LOGNAME}/${DT} fi export HISTTIMEFORMAT="%F %T " export HISTSIZE=4096 export HISTFILE="/var/log/history/${LOGNAME}/${DT}/${USER_IP}.log" ```
                  <ruby id="bdb3f"></ruby>

                  <p id="bdb3f"><cite id="bdb3f"></cite></p>

                    <p id="bdb3f"><cite id="bdb3f"><th id="bdb3f"></th></cite></p><p id="bdb3f"></p>
                      <p id="bdb3f"><cite id="bdb3f"></cite></p>

                        <pre id="bdb3f"></pre>
                        <pre id="bdb3f"><del id="bdb3f"><thead id="bdb3f"></thead></del></pre>

                        <ruby id="bdb3f"><mark id="bdb3f"></mark></ruby><ruby id="bdb3f"></ruby>
                        <pre id="bdb3f"><pre id="bdb3f"><mark id="bdb3f"></mark></pre></pre><output id="bdb3f"></output><p id="bdb3f"></p><p id="bdb3f"></p>

                        <pre id="bdb3f"><del id="bdb3f"><progress id="bdb3f"></progress></del></pre>

                              <ruby id="bdb3f"></ruby>

                              哎呀哎呀视频在线观看