一、使用Shell腳本實現自動化備份
在日常的運維工作中,備份是一個非常重要的環節。而使用Shell腳本可以讓備份操作變得更加便捷。
下面是一個針對MySQL資料庫備份的Shell腳本實例:
#!/bin/bash # 備份存放路徑 backup_path=/backup/mysql_backup # 當前系統日期 date=`date +%Y%m%d` # MySQL賬號密碼 mysql_user=root mysql_password=123456 # 資料庫列表 db_list=(test db1 db2) # 備份過程(循環備份每個資料庫) for db_name in ${db_list[*]} do # 備份文件名 file_name=${backup_path}/${db_name}-${date}.sql # 備份指定資料庫(-R表示使用REPEATABLE READ事務隔離級別) mysqldump -u${mysql_user} -p${mysql_password} -R ${db_name} > ${file_name} done
這個腳本會備份指定的資料庫,並將備份文件以「資料庫名-日期」的格式存放到指定的路徑下。
二、使用Shell腳本實現定時任務
使用Shell腳本可以很方便地實現定時任務,比如定期清理日誌、定時執行備份等操作。
下面是一個使用Cron定時執行備份腳本的實例:
# 每天凌晨2點執行備份 0 2 * * * /bin/bash /backup/mysql_backup.sh
在上面的例子中,我們使用Cron實現了每天凌晨2點執行備份腳本的定時任務。
三、使用Shell腳本實現遠程登錄伺服器
在管理多台伺服器時,通常需要頻繁地登錄到遠程伺服器進行操作,使用Shell腳本可以讓這個過程更加簡單快捷。
下面是一個登陸遠程伺服器並執行命令的Shell腳本實例:
#!/bin/bash # 遠程伺服器IP server_ip=192.168.1.100 # 遠程伺服器用戶名 server_user=root # 遠程伺服器密碼 server_password=123456 # 要執行的命令 command="ls -l /home" # 登陸伺服器並執行命令 sshpass -p ${server_password} ssh ${server_user}@${server_ip} "${command}"
這個腳本會使用sshpass命令登陸到遠程伺服器,並執行指定的命令。
四、使用Shell腳本自動化部署應用
使用Shell腳本可以很方便地實現應用的自動化部署。下面是一個使用Shell腳本自動化部署Java應用的實例:
#!/bin/bash # 應用部署路徑 deploy_path=/opt/tomcat/webapps # 應用備份路徑 backup_path=/backup/app_backup # 應用名稱 app_name=myapp.war # 當前系統日期 date=`date +%Y%m%d` # 備份應用 mv ${deploy_path}/${app_name} ${backup_path}/${app_name}-${date} # 拷貝新應用 cp ${app_name} ${deploy_path} # 重啟Tomcat ${deploy_path}/../bin/catalina.sh stop ${deploy_path}/../bin/catalina.sh start
這個腳本會備份應用、拷貝新應用、重啟Tomcat來完成Java應用的自動化部署。
五、使用Shell腳本實現快速部署開發環境
在開發環境中,我們常常需要安裝一些軟體、配置一些環境變數。使用Shell腳本可以讓這個過程變得更加順暢。
下面是一個使用Shell腳本快速部署Java開發環境的實例:
#!/bin/bash # 安裝Java yum install -y java-1.8.0-openjdk-devel # 配置環境變數 echo "export JAVA_HOME=/usr/lib/jvm/java-1.8.0-openjdk" >> /etc/profile echo "export PATH=$PATH:$JAVA_HOME/bin" >> /etc/profile source /etc/profile
這個腳本會安裝Java,並配置JAVA_HOME和PATH這兩個環境變數。
六、使用Shell腳本實現快速檢查伺服器性能
使用Shell腳本可以很方便地快速檢查伺服器性能,比如CPU佔用率、內存佔用率等指標。
下面是一個使用Shell腳本檢查CPU佔用率的實例:
#!/bin/bash # 獲取1秒內CPU的總使用率 cpu_usage=`top -b -n 1 | grep "Cpu(s)" | awk '{print $2+$4}' | cut -d. -f1` echo "CPU Usage: ${cpu_usage}%"
這個腳本會獲取1秒內CPU的總使用率,並輸出到控制台。
原創文章,作者:小藍,如若轉載,請註明出處:https://www.506064.com/zh-tw/n/252107.html