SHELL脚本自动化备份MYSQL数据库

Posted python运维实践

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了SHELL脚本自动化备份MYSQL数据库相关的知识,希望对你有一定的参考价值。

一、任务描述:

写一个自动化脚本,每天2点将school数据库的score表备份并上传到FTP服务器backup目录。

二、程序代码

#!/bin/bash#auto_backup.shdb_user="dbuser"db_password="123456"db_host="192.168.100.109"
ftp_user="ftpuser"ftp_password="111111"ftp_host="192.168.100.103"
dst_dir="/home/ftpuser/backup"time_date="`date +%Y%m%d%H%M%S`"file_name="school_score_${time_date}.sql"
function auto_ftp{ ftp -niv << EOF open $ftp_host user $ftp_user $ftp_password
cd $dst_dir put $1 byeEOF}
mysqldump -u"$db_user" -p"$db_password" -h"$db_host" school score > ./$file_name && auto_ftp ./$file_name

三、建立定时任务

[root@192 ~]# crontab -eno crontab for root - using an empty onecrontab: installing new crontab[root@192 ~]# crontab -l*/2 * * * * /usr/sbin/ntpdate 58.220.207.226 &> /dev/null00 02 * * * sh auto_backup.sh &> /dev/null

四、测试效果

为测试方便,这里时间改为每1分钟,测试完成后删除定时任务。

[root@192 ~]# systemctl status crond● crond.service - Command Scheduler Loaded: loaded (/usr/lib/systemd/system/crond.service; enabled; vendor preset: enabled) Active: active (running) since 六 2020-04-04 09:48:09 CST; 6h ago Main PID: 995 (crond) CGroup: /system.slice/crond.service └─995 /usr/sbin/crond -n
4月 04 09:48:09 192.168.100.103 systemd[1]: Started Command Scheduler.4月 04 09:48:09 192.168.100.103 systemd[1]: Starting Command Scheduler...4月 04 09:48:09 192.168.100.103 crond[995]: (CRON) INFO (RANDOM_DELAY will be scaled with factor 89% if used.)404 09:48:13 192.168.100.103 crond[995]: (CRON) INFO (running with inotify support)[root@192 ~]# [root@192 ~]# cd /home[root@192 home]# cd ftpuser[root@192 ftpuser]# lsbackup school.sql score.sql[root@192 ftpuser]# cd backup[root@192 backup]# ll总用量 8-rw-r--r--. 1 ftpuser ftpuser 1982 4月 4 16:29 school_score_20200404162932.sql-rw-r--r--. 1 ftpuser ftpuser 1982 4月 4 20:30 school_score_20200404203001.sql[root@192 backup]# ll总用量 16-rw-r--r--. 1 ftpuser ftpuser 1982 4月 4 16:29 school_score_20200404162932.sql-rw-r--r--. 1 ftpuser ftpuser 1982 4月 4 20:30 school_score_20200404203001.sql-rw-r--r--. 1 ftpuser ftpuser 1982 4月 4 20:31 school_score_20200404203101.sql-rw-r--r--. 1 ftpuser ftpuser 1982 4月 4 20:32 school_score_20200404203201.sql[root@192 backup]# crontab -r[root@192 backup]# crontab -lno crontab for root

上面测试中,需要搭建vsftp服务,并以本地模式登录,权限设置略。


学习|生活|分享|积累|永不停步



请留下你指尖的温度

让太阳拥抱你

微信ID:haopython


以上是关于SHELL脚本自动化备份MYSQL数据库的主要内容,如果未能解决你的问题,请参考以下文章

MySql DUMP 自动备份数据库 Shell 脚本

MySql DUMP 自动备份数据库 Shell 脚本

MySql DUMP 自动备份数据库 Shell 脚本

如何使用shell脚本每天自动备份mysql数据库

使用Shell脚本实现自动备份MySQL数据库

使用Shell脚本实现自动备份MySQL数据库