linux常用脚本案例
时间: 2023-11-15 13:52:30 浏览: 82
Linux脚本的一些例子
1. 自动备份脚本
该脚本可以定期执行,备份指定目录下的文件或数据库。可以指定备份的周期、备份的文件名、备份的目录等。
#!/bin/bash
# 定义备份路径
backup_dir="/backup"
# 定义备份周期
day_of_week=`date +%u`
if [ $day_of_week == "1" ] ; then
backup_period="weekly"
else
backup_period="daily"
fi
# 定义备份文件名
backup_file_name="my_backup_$(date +%Y-%m-%d-%H-%M-%S).tar.gz"
# 定义备份目录
backup_target_dir="/home/mydata"
# 执行备份
tar -zcvf $backup_dir/$backup_period/$backup_file_name $backup_target_dir
2. 自动清理日志脚本
该脚本可以定期执行,清理指定目录下的日志文件,只保留最近的几天或几个月的日志文件。
#!/bin/bash
# 定义日志路径
log_dir="/var/log"
# 定义保留日志的天数或月数
keep_days=30
# 执行清理
find $log_dir -type f -mtime +$keep_days -exec rm {} \;
3. 自动部署脚本
该脚本可以自动从代码仓库拉取最新的代码,编译并部署到指定的服务器上。
#!/bin/bash
# 定义代码仓库地址
git_repo="https://github.com/myrepo/myapp.git"
# 定义代码存放路径
code_dir="/home/myapp"
# 定义编译命令
compile_cmd="make"
# 定义部署目标服务器
deploy_server="192.168.1.100"
# 执行操作
cd $code_dir
git pull $git_repo
$compile_cmd
scp -r $code_dir/* $deploy_server:/var/www/myapp
4. 自动监控脚本
该脚本可以定期检查指定的进程或服务是否正常运行,如果出现异常情况,可以自动重启或发送报警信息。
#!/bin/bash
# 定义监控的进程名或服务名
process_name="myapp"
# 定义报警邮箱地址
alarm_email="admin@example.com"
# 检查进程状态
count=`ps -ef | grep $process_name | grep -v grep | wc -l`
if [ $count -eq 0 ]; then
# 进程异常,尝试重启
/etc/init.d/$process_name restart
# 检查重启后进程状态
count=`ps -ef | grep $process_name | grep -v grep | wc -l`
if [ $count -eq 0 ]; then
# 重启失败,发送报警邮件
echo "进程 $process_name 重启失败,请尽快处理!" | mail -s "进程异常报警" $alarm_email
fi
fi
阅读全文