用于MySQL数据库备份的简单bash脚本的介绍


本文摘自PHP中文网,作者不言,侵删。

如何实现MySQL数据库备份?可以使用用于MySQL数据库备份的bash脚本。在本篇文章中,我们将介绍一个简单的bash脚本用于备份MySQL数据库,将备份归档并存储在本地系统上。此bash脚本还将从磁盘中删除旧备份以释放空间。还可以指定在本地磁盘上保留备份的天数。

创建MySQL备份脚本

现在,将以下内容复制到脚本文件中(如/backup/mysql backup.sh),并保存在Linux系统上。之后,根据你的环境在脚本的“Update below values”部分中更改一些配置值

1

2

3

4

5

6

7

8

9

10

11

12

13

14

15

16

17

18

19

20

21

22

23

24

25

26

27

28

29

30

31

32

33

34

35

36

37

38

39

40

41

42

43

44

45

46

47

48

49

50

51

52

53

54

55

56

#!/bin/bash

  

################################################################

##

##   MySQL Database Backup Script

##   Written By: Rahul Kumar

##   URL: https://tecadmin.net/bash-script-mysql-database-backup/

##   Last Update: Jan 05, 2019

##

################################################################

  

export PATH=/bin:/usr/bin:/usr/local/bin

TODAY=`date +"%d%b%Y"`

  

################################################################

################## Update below values  ########################

  

DB_BACKUP_PATH='/backup/dbbackup'

MYSQL_HOST='localhost'

MYSQL_PORT='3306'

MYSQL_USER='root'

MYSQL_PASSWORD='mysecret'

DATABASE_NAME='mydb'

BACKUP_RETAIN_DAYS=30   ## Number of days to keep local backup copy

  

#################################################################

  

mkdir -p ${DB_BACKUP_PATH}/${TODAY}

echo "Backup started for database - ${DATABASE_NAME}"

  

  

mysqldump -h ${MYSQL_HOST} \

   -P ${MYSQL_PORT} \

   -u ${MYSQL_USER} \

   -p${MYSQL_PASSWORD} \

   ${DATABASE_NAME} | gzip > ${DB_BACKUP_PATH}/${TODAY}/${DATABASE_NAME}-${TODAY}.sql.gz

  

if [ $? -eq 0 ]; then

  echo "Database backup successfully completed"

else

  echo "Error found during backup"

fi

  

  

##### Remove backups older than {BACKUP_RETAIN_DAYS} days  #####

  

DBDELDATE=`date +"%d%b%Y" --date="${BACKUP_RETAIN_DAYS} days ago"`

  

if [ ! -z ${DB_BACKUP_PATH} ]; then

      cd ${DB_BACKUP_PATH}

      if [ ! -z ${DBDELDATE} ] && [ -d ${DBDELDATE} ]; then

            rm -rf ${DBDELDATE}

      fi

fi

  

### End of script ####

创建或下载脚本后,请确保设置执行权限才能正常运行。

1

$ chmod + x /backup/mysql-backup.sh

在Crontab中安排脚本

现在,在crontab中安排脚本每天运行并定期完成备份。使用crontab -e命令在系统上编辑crontab 。添加以下设置以在早上2点启用备份。

在crontab中调度脚本

现在在crontab中安排脚本每天运行,并定期完成备份。使用crontab-e命令在系统上编辑crontab。添加以下设置以在早上2点启用备份。

1

0 2 * * * root /backup/mysql-backup.sh

保存你的crontab文件。启用cron后,脚本将自动进行备份,但请需要每周或每月检查以确保已经备份。

本篇文章到这里就已经全部结束了,更多其他精彩内容可以关注PHP中文网的Linux视频教程栏目!

以上就是用于MySQL数据库备份的简单bash脚本的介绍的详细内容,更多文章请关注木庄网络博客

相关阅读 >>

5种centos查看系统版本的方法

如何在bash脚本中将密码传递给ssh/scp命令

如何在bash脚本中将密码传递给ssh/scp命令

如何在bash shell中使用换行符(\n)

linux中bash是什么意思?

如何在bash shell中使用换行符(\n)

有关linux中的bash编程讲解

bash shell脚本中使用for循环

linux bash是什么?

bash shell脚本中使用while循环

更多相关阅读请进入《bash》频道 >>



打赏

取消

感谢您的支持,我会继续努力的!

扫码支持
扫码打赏,您说多少就多少

打开支付宝扫一扫,即可进行扫码打赏哦

分享从这里开始,精彩与您同在

评论

管理员已关闭评论功能...