两个实用的 shell 脚本

定时检测 web 服务器,没有运行自动重启,http.sh 脚本

#!/bin/bash
# 注意缩进

port=$(nmap -sT 106.75.157.22 | grep tcp | grep http | grep 80 | awk '{print $2}')
if [ "$port" == "" ]; then
    systemctl restart nginx
    echo "http error $(date +%Y-%m-%d' '%H:%M:%S)" >> ~/http_logs_error.log
fi

定时备份数据库 mysqldump.sh 脚本

#!/bin/bash

dir=~/data_bak #自定义
filename=demo  #自定义
username=nick  #自定义
password=xxx   #自定义
database=demo  #自定义

if [ -d $dir ]; then
    mysqldump -u$username -p$password $database | gzip > $dir/$filename\_$(date +%Y%m%d).sql.gz
else
    mkdir $dir
    mysqldump -u$username -p$password $database | gzip > $dir/$filename\_$(date +%Y%m%d).sql.gz
fi

加入定时任务

1 3 * * 0 ~/mysqldump.sh # 每周日凌晨3点1分执行
*/10 * * * * ~/http.sh #10分钟执行一次

以上操作以 root 用户执行

打赏作者

您将是第一位评论人!

提醒
avatar