<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、智譜、豆包、星火、月之暗面及文生圖、文生視頻 廣告
                [TOC] ### 1. 多機ssh免密登錄 * 花了一點時間寫了一個免密腳本,當做學shell的實踐了,可能有點粗糙。 > 1. 兩個腳本和一個文件放在同一個目錄下 > 2. 把主機地址填寫到兩個腳本中,空格分割 > 3. 順序執行以下命令,就可以完成多臺主機的ssh免密 ~~~ ./batchscp.sh ssh ./batchscp.sh scp ./batchscp.sh exe ~~~ * batchscp.sh ~~~ #!/bin/bash HOST_LIST=("192.168.56.130" "192.168.56.131" "192.168.56.132") PASSWD=tuna USER=tuna SSH_PORT=22 PWD=`pwd` echo "當前目錄:$PWD" scp(){ for ip in ${HOST_LIST[@]} do sshpass -p $PASSWD scp -P $SSH_PORT ${PWD}/autoSSH.sh $USER@$ip:/home/$USER if [ $? -eq 0 ];then echo "scp successed" else echo "scp failed ip:$ip" fi done } ssh(){ for ip in ${HOST_LIST[@]} do sshpass -p $PASSWD ssh -o "StrictHostKeyChecking=no" -t $USER@$ip "ssh-keygen -t rsa -P '' -f ~/.ssh/id_rsa " done } exe(){ for ip in ${HOST_LIST[@]} do sshpass -p $PASSWD ssh -o "StrictHostKeyChecking=no" -t $USER@$ip "chmod +x ~/autoSSH.sh;source ~/autoSSH.sh && rm -rf ~/autoSSH.sh" done } case $1 in scp) scp ;; ssh) ssh ;; exe) exe ;; *) echo "完成ssh免密,順序執行:1.ssh 2.scp 3. exe" ;; esac ~~~ * autoSSH.sh ~~~ #!/bin/bash USER=tuna PASSWD=tuna HOST_LIST=("192.168.56.130" "192.168.56.131" "192.168.56.132") for ip in ${HOST_LIST[@]} do sshpass -p $PASSWD ssh -o "StrictHostKeyChecking=no" -t $USER@$ip "echo '************scp id_rsa.pub to $ip *************'" \ && sshpass -p $PASSWD ssh-copy-id -i ~/.ssh/id_rsa.pub $USER@$ip done ~~~ ### 2. tomcat自啟動 ~~~ #!/bin/bash export PATH=$JAVA_HOME/bin:$PATH CATALINA_HOME=/home/timing/application/tomcat-timing/ TOMCAT_USER=timing TOMCAT_USAGE="Usage: $0 {\e[00;32mstart\e[00m|\e[00;31mstop\e[00m|\e[00;32mstatus\e[00m|\e[00;31mrestart\e[00m}" SHUTDOWN_WAIT=20 tomcat_pid() { echo `ps -ef | grep $CATALINA_HOME | grep -v grep | awk '{print $2}'` } start() { pid=$(tomcat_pid) if [ -n "$pid" ];then echo -e "\e[00;31mTomcat is already running (pid: $pid)\e[00m" else echo -e "\e[00;32mStarting tomcat\e[00m" su - $TOMCAT_USER -c "$CATALINA_HOME/bin/startup.sh" fi } status(){ pid=$(tomcat_pid) if [ -n "$pid" ];then echo -e "\e[00;32mTomcat is running with pid: $pid\e[00m" else echo -e "\e[00;31mTomcat is not running\e[00m" fi } stop() { pid=$(tomcat_pid) if [ -n "$pid" ];then echo -e "\e[00;31mStoping Tomcat\e[00m" $CATALINA_HOME/bin/shutdown.sh let kwait=$SHUTDOWN_WAIT count=0; until [ `ps -p $pid | grep -c $pid` = '0' ] || [ $count -gt $kwait ] do echo -n -e "\e[00;31mwaiting for processes to exit\e[00m\n"; sleep 1 let count=$count+1; done if [ $count -gt $kwait ];then echo -n -e "\n\e[00;31mkilling processes which didn't stop after $SHUTDOWN_WAIT seconds\e[00m" kill -9 $pid fi else echo -e "\e[00;31mTomcat is not running\e[00m" fi return 0 } user_exists(){ if id -u $1 >/dev/null 2>&1; then echo "1" else echo "0" fi } case $1 in start) start ;; stop) stop ;; restart) stop start ;; status) status ;; *) echo -e $TOMCAT_USAGE ;; esac exit 0 1,1 頂端 ~~~ ### 3. 保存用戶操作記錄 vim /etc/profile 全局環境配置文件,每個用戶登錄時,都會執行這個文件 ~~~ history 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 if [ ! -d /var/log/history/${LOGNAME} ]; then mkdir /var/log/history/${LOGNAME} chmod 300 /var/log/history/${LOGNAME} fi export HISTSIZE=4096 DT=`date +"%Y%m%d_%H:%M:%S"` export HISTFILE="/var/log/history/${LOGNAME}/${USER}@${USER_IP}_$DT" chmod 600 /var/log/history/${LOGNAME}/*history* 2>/dev/null ~~~ > * HISTFILE變量: > 1. 定義了命令歷史列表保存在哪個文件中。查看HISTFILE變量定義為$HOME/.bash_history文件中,但是家目錄下沒有該文件。 >2. 于是清楚了reboot之后為什么history查詢不到上一次命令歷史列表的原因:因為沒有$HOME/.bash_history這個文件。重新制定該變量,會為每個登錄的用戶生成記錄文件(例如上邊的腳本) > * history命令: > 1. 用于顯示指定數目的指令命令,讀取歷史命令文件中的目錄到歷史命令緩沖區和將歷史命令緩沖區中的目錄寫入命令文件。 > 2. 在內存中,歷史命令僅能夠存儲1000條歷史命令,該數量是由環境變量HISTSIZE進行控制。 > * 為什么當次啟動的命令歷史列表可以通過history命令查詢呢? > 1. history命令是bash內置命令,所有的命令歷史在當前bash還存在的時候是保存在內存中的,只有在bash退出時才會從內存中flush到$HISTFILE變量指定的文件中(創建文件) > 2. 這也就是為什么當次的命令歷史列表在當前bash中能夠通過history命令查詢,但是reboot之后卻無法查詢的原因。 > ### 4. 發送郵件 ~~~ #!/bin/bash to=$1 subject=$2 body=$3 /usr/local/bin/sendEmail -f 18343019464@sina.cn -t "$to" -s smtp.sina.cn -u "$subject" -o message-content-type=html -o message-charset=utf8 -xu '18343019464@sina.cn' -xp '密碼' -m "$body" ~~~
                  <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>

                              哎呀哎呀视频在线观看