数据库(mysql,mariadb)备份脚本源码

如果说一个网站最担心什么,那就是网站数据意外丢失却没有备份。与其看着多年经营的网站毁于一旦,痛心疾首,不如早点养成良好的备份习惯。

要做好数据库备份而又以时间为数据库备份文件名,清楚的记录到数据库备份信息,在一般情况因为要先对当前的时间进行查询然后再输入,这样会略显繁琐。经过学习,我做了一个简单数据库备份脚本,具体代码如下:

#/bin/sh
#To be Backup mariadb(mysql) database.
# Author: uperli 
# Website: uperli.com
#if you use(share) this shell,please respect the author and knowledge. remark the source,thank you!

echo $(whoami)
w=$(whoami)
echo $w
if [ "$w" == "root" ]
then
{
if [ ! -d "/root/back" ]
then
mkdir -p /root/back
else
echo /root/back exsit
fi
}
else
{
if [ ! -d /home/"$w"/back ]
then
mkdir -p /home/"$w"/back
else
echo /home/"$w"/back exist
fi
}
fi

echo -e "\033[44mplease input your mysql(mariadb) username\033[0m"
read uname

echo -e "\033[44mplease input your mysql(mariadb) database-name\033[0m"
read  dname

a=$(date +%F)
b=$(date +%k)
y=${a:0:10}
h=${b:1:1}
s="$y-$h"
echo -e "\033[44mplease input your mysql(mariadb) password\033[0m"
if [ "$w" == "root" ]
then                                    
mysqldump -u$uname -p $dname >  /"$w"/back/"$s.sql"
else
mysqldump -u$uname -p $dname >  /home/"$w"/back/"$s.sql"                        
fi
                 

此脚本将会把以时间(年-月-日:时)为文件名,. sql为后缀的数据库备份到当前用户家目录下的back文件夹里。以后再对数据库进行备份就可以直接运行此备份脚本,方便快捷。(不知道如何运行脚本:直接使用vi编辑一个名为back的文件,然后粘贴以上代码,保存退出后在命令行输入命令bash back即可运行),(数据库恢复时直接进入数据库选择database然后使用source 备份数据库文件绝对路径)。

此脚本对高手如云的网络中的技术高手来说不值一提,但这对于一些没有太多了解却又想进行数据库备份的人这是一个行之有效的解决方案!不足之处欢迎批评指正。

发表评论