写点什么

整理 自动备份 MYSQL 数据库 shell 脚本

用户头像
edd
关注
发布于: 2021 年 03 月 15 日

#创建 shell 名字可以随便取

touch autobackupsql.sh


备份数据库 shell 脚本内容:


#定义文件名变量

fileName=sdott_$(date +%Y%m%d)

oldFile=sdott_$(date -d' -30day' +%Y%m%d%H)

echo $fileName ":" $oldFile


mkdir /usr/local/app/mysql_backup/$fileName

#开始执行备份数据库

/usr/local/mysql/install/bin/mysqldump -uroot -pxishinet sdott > /usr/local/app/mysql_backup/$fileName/$fileName.sql

/mysqlapp/install/bin/mysqldump -uroot -p 123456 namesql > /mysqldata/sqlback/namesql.sql

#压缩数据库脚本

echo "start to tar in 30s"

sleep 30

cd /usr/local/app/mysql_backup

tar cvf $fileName.tar.gz $fileName/


#删除当前文件夹

sleep 30

rm -rf $fileName

echo "done ok"


#传送到其他服务器

sleep 10

scp /mysql_data/sqlback/$fileName.tar.gz root@192.168.1.10:/home/tmp

echo "mv file already"


#删除 30 天前的文件

echo "rm last month file "

sleep 10

rm -rf $oldFile*


##添加定时命令

#vim /etc/crontab

#每天 3 时 1 分开始执行

01 3 * root /usr/local/app/mysqlbackup/namesql.sh> /usr/local/app/mysqlbackup/log/mysqlAutoBak.log 2>&1


再重启一下 crontab:/etc/rc.d/init.d/crond restart


如何设置无需密码的 ssh 登陆,方法如下:

假设 A,B 两服务器,现在需要在 A 机上用 root 登陆 B 机,而不需要输入密码,那我们可按照下面的步骤来做:

1)在 A 机上生成钥匙对,执行以下命令:

ssh-keygen -t rsa

Generating public/private rsa key pair.

Enter file in which to save the key (/root/.ssh/idrsa): /root/.ssh/idrsa

Enter passphrase (empty for no passphrase):直接回车

Enter same passphrase again:直接回车

Your identification has been saved in /root/.ssh/id_rsa.

Your public key has been saved in /root/.ssh/id_rsa.pub.

The key fingerprint is:

f6:61:a8:27:35:cf:4c:6d:13:22:70:cf:4c:c8:a0:23 root@host1

这样,在/root/.ssh/路径下会生成 idrsa,和 idrsa.pub,其中 idrsa 是密钥,idrsa.pub 是公钥。

2)把在 A 机生成的 id_rsa.pub 拷贝到 B 机上,假设拷贝到 B 机的临时目录下,如:

scp /root/.ssh/id_rsa.pub root@IP:/tmp

3)用 root 帐号登陆 B 机,进入其主目录,创建 authorized_keys 文件,并设置好权限。

cd ~/.ssh

cat /tmp/idrsa.pub >>authorizedkeys

chmod 400 authorized_keys

rm -f /tmp/id_rsa.pub

4)重新打开 A 的链接窗口,命令行下输入

ssh 10.0.0.1 IP

就可以看到直接进入了。


用户头像

edd

关注

还未添加个人签名 2018.01.18 加入

还未添加个人简介

评论

发布
暂无评论
整理 自动备份MYSQL数据库shell脚本