一、使用Shell脚本实现自动化备份
在日常的运维工作中,备份是一个非常重要的环节。而使用Shell脚本可以让备份操作变得更加便捷。
下面是一个针对MySQL数据库备份的Shell脚本实例:
# 备份存放路径 | |
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脚本实例:
# 远程服务器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应用的实例:
# 应用部署路径 | |
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开发环境的实例:
# 安装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占用率的实例:
# 获取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的总使用率,并输出到控制台。