编写shell脚本实现自动化运维
时间: 2023-12-22 07:28:28 浏览: 197
shell自动化构建脚本
为了实现自动化运维,可以编写shell脚本来调用SQL语句,以下是一个简单的例子:
```shell
#!/bin/bash
# 定义变量
MYSQL_USER="root"
MYSQL_PASSWORD="password"
MYSQL_HOST="localhost"
MYSQL_PORT="3306"
MYSQL_DATABASE="test"
# 执行SQL语句
mysql -u${MYSQL_USER} -p${MYSQL_PASSWORD} -h${MYSQL_HOST} -P${MYSQL_PORT} -D${MYSQL_DATABASE} -e "SELECT * FROM users;"
# 执行完毕
echo "SQL query executed successfully."
```
在这个例子中,我们定义了MySQL的用户名、密码、主机、端口和数据库名等变量,并使用`mysql`命令执行了一个简单的SQL查询语句。你可以根据自己的需求修改这个脚本,例如添加备份和恢复功能等。
另外,为了实现自动化运维,你还可以编写shell脚本来定期执行一些任务,例如清理缓存、备份数据库等。以下是一个简单的例子:
```shell
#!/bin/bash
# 定义变量
MEMORY_THRESHOLD=70
LOG_FILE="/var/log/freeMemoryLog.txt"
# 检查内存使用率
MEMORY_USAGE=$(free | awk '/Mem/{printf("%.2f"), $3/$2*100}')
# 如果内存使用率超过阈值,则释放缓存
if [ $(echo "${MEMORY_USAGE} > ${MEMORY_THRESHOLD}" | bc -l) -eq 1 ]; then
sync && echo 3 > /proc/sys/vm/drop_caches
echo "$(date) - Memory usage is ${MEMORY_USAGE}%, cache cleared." >> ${LOG_FILE}
else
echo "$(date) - Memory usage is ${MEMORY_USAGE}%, no action taken." >> ${LOG_FILE}
fi
# 执行完毕
echo "Script executed successfully."
```
在这个例子中,我们定义了一个内存使用率的阈值和日志文件的路径,并使用`free`命令检查当前内存使用率。如果内存使用率超过阈值,则使用`sync`命令同步缓存并使用`echo`命令将3写入`/proc/sys/vm/drop_caches`文件中以释放缓存。最后,我们将执行结果写入日志文件中。
阅读全文