千家信息网

linux下使用shell编程实现mysql备份

发表于:2024-09-22 作者:千家信息网编辑
千家信息网最后更新 2024年09月22日,本文主要给大家简单讲讲linux下使用shell编程实现mysql备份,相关专业术语大家可以上网查查或者找一些相关书籍补充一下,这里就不涉猎了,我们就直奔主题吧,希望linux下使用shell编程实现
千家信息网最后更新 2024年09月22日linux下使用shell编程实现mysql备份

本文主要给大家简单讲讲linux下使用shell编程实现mysql备份,相关专业术语大家可以上网查查或者找一些相关书籍补充一下,这里就不涉猎了,我们就直奔主题吧,希望linux下使用shell编程实现mysql备份这篇文章可以给大家带来一些实际帮助。

1,shell常见变量解析:

$0 当前脚本的名称

$n 当前脚本的第n个参数

$* 当前脚本的所有参数(不包括程序本身)

$# 当前脚本的参数个数(不包括程序本身)

$?命令或程序执行完成后的状态,一般返回0表示成功。

$UID当前用户的ID

$PWD当前所在的目录

-ne 不等于

-eq 等于

2,自动备份mysql脚本思路

①,备份DB的命令

mysqldump -h227.0.0.1 -uroot -p123456 du >du_`date +%y%m%d`.sql

②,备份的机制

③,备份的目标和库

④,定期删除多少天以前的数据

#!/bin/bash#auto backup mysql datebases.#by 2017#define DB info PATHSQL_CMD="/usr/bin/mysqldump"SQL_HOST="127.0.0.1"SQL_USR="root"SQL_PWD="123456"SQL_DB="du"SQL_DIR="/data/backup/`date +%y%m%d`"#判断是否为root用户if [ $UID -ne 0 ];then        echo "only use root to exec."        exit fi#判断该路径是否存在,不存在就创建一个if [ ! -d $SQL_DIR ];then        mkdir -p $SQL_DIRfi#备份数据库$SQL_CMD -h$SQL_HOST -u$SQL_USR -p$SQL_PWD $SQL_DB >$SQL_DIR/$SQL_DB.sql#判断是否备份成功,成功打印出来路径if [ $? -eq 0 ];then        echo "Backup mysql already successful."        echo "Backup path:$SQL_DIR"else        echo "Backup mysql failed."fi#删除30天以前的备份文件cd $SQL_DIR/../ ; find . -mtime +30 -exec rm -rf {} \;echo "Done"#把脚本加到crontab任务计划里grep "mysql" /var/spool/cron/root >> /dev/nullif [ $? -ne 0 ];then        echo "0 0 * * * /bin/bash /root/shell/mysql.sh > /tmp/mysql.log 2>&1" >>/var/spool/cron/root        /etc/init.d/crond restartfi

linux下使用shell编程实现mysql备份就先给大家讲到这里,对于其它相关问题大家想要了解的可以持续关注我们的行业资讯。我们的板块内容每天都会捕捉一些行业新闻及专业知识分享给大家的。

0