整理 自动备份 MYSQL 数据库 shell 脚本
#创建 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
e
cho "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
就可以看到直接进入了。
评论