mysql 上传服务器_Mysql备份并上传到固定的服务器

第一步,备份mysql

back_mysql_db.sh

#!/bin/bash

# 没有则创建

if [ ! -d "/home/wwwroot/default/mysqlbackups" ];then

mkdir -p "/home/wwwroot/default/mysqlbackups"

fi

# 备份数据库

mysqldump -uroot -p123456 dbname > /home/wwwroot/default/mysqlbackups/dbname_$(date +%Y%m%dH%M%S).sql

# 只保留5天的数据库

find /home/wwwroot/default/mysqlbackups/ -type f -ctime +5 -exec rm -rf {} \;

第二步,将文件夹scp到服务器

scp_back_to_test.sh

需要安装一下expect

yum install expect

#!/usr/bin/expect

set user root

set password 123456

set dir /home/wwwroot/default/

set ip xxx.xxx.xxx

set files [lrange $argv 0 0]

spawn scp -r ${files} ${user}@${ip}:${dir}

expect {

"*yes/no*" { send "yes\r"; exp_continue}

"*password:*" { send "$password\r"; exp_continue }

}

interact

第三步,配置定时器crontab

30 03 * * * sh /home/cron/back_mysql_db.sh >> /tmp/back_mysql_db.log 2>&1

30 03 * * * /home/cron/scp_back_to_test.sh /home/wwwroot/default/mysqlbackups/ >> /tmp/scp_back_to_test.log 2>&1

每天夜里3点半

第四步, 再来一个定期处理服务器超过三天的sql

clear_old_mysql_db.sh

#!/bin/bash

# 只保留5天的数据库

find /home/wwwroot/default/mysqlbackups/ -type f -ctime +5 -exec rm -rf {} \;

30 3 * * * sh /home/sh/clear_old_mysql_db.sh >> /tmp/clear_old_mysql_db.log 2 >&1

Mysql备份并上传到固定的服务器

标签:需要   dump   type   exec   第一步   def   time   服务器   bash

本条技术文章来源于互联网,如果无意侵犯您的权益请点击此处反馈版权投诉

本文系统来源:https://www.cnblogs.com/jiqing9006/p/12405506.html

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值