• mysql定时备份数据库 删除历史文件 将备份数据库传送到另外服务器


    定时备份数据库脚本并压缩删除历史文件

    1.创建备份脚本

    vim   mysql-backup.sh

    #!/bin/bash
    bak=`date +%y-%m-%d-%H`
    tool=/usr/local/mysql/bin/mysqldump
    $tool -uroot -p密码 --lock-all-tables --all-databases | gzip > /路径/$bak.sql.gz

    find 路径 -name "name_*.sql.gz"  -type f  -mtime +7 -exec rm -rf{} ; > /dev/null 2>&1

    路径是sql备份文件的文件夹

    -name这些就找文件名了

    -mtime +7是每隔7天删除一次

    2.为脚本添加执行权限

    chmod +x mysql-backup.sh

    3.添加定时计划

    # crontab -e (和vim编辑器一样)

    # crontab配置文件格式:分 时 日 月 周 

    命令  crontab -e

    0 0  *   *   *         //mysql-backup.sh            表示每天0点0分执行备份

    4.重启crontab

    /etc/init.d/crond restart

    如果需要将备份文件传送到另外一个服务器,需要通过scp,需要在两边设备上做无密码验证

    本地服务器:A
    远程服务器:B

    1.在 A 上运行 ssh-keygen -t rsa 在/root/.ssh 下生成id_rsa 和 id_rsa.pub 两个文件
    在/root/.ssh下复制备份一份id_rsa.pub 命名为 id_rsa.pub.A

    2. 在 B 上也同样运行 ssh-keygen -t rsa

     3. 在 B 的 /root/.ssh 下创建authorized_keys文件 把A 中 id_rsa.pub.A 文件 传到 B /root/.ssh 下
        通过 cat 命令 把id_rsa.pub.A 写到 authorized_keys 文件中

    scp ./id_rsa.pub.A  B的IP:/root/.ssh
       cat id_rsa.pub.A  >> authorized_keys

     4.配置完毕

     测试:

       scp ./文件 192.168.190.208:/root/.ssh  无需输入密码执行成功

    在配置完无需密码进行传送后在脚本下添加一句

    scp 源路径 目的ip:目的路径

  • 相关阅读:
    关于MySQL死锁
    随手一记,maven打包
    js生成带logo的二维码
    java生成带logo的二维码
    关于网页中文本域高度自动适应问题,参考微信回复
    从git上拉下来的严选weex项目demo
    补装老版本的Java SE
    新MBP使用git命令时启用xcode的终端log
    电脑出现“损坏的图像”窗口提示dll没有被指定在Windows上运行如何解决
    不同浏览器隐藏默认表单样式
  • 原文地址:https://www.cnblogs.com/M-98k/p/12674705.html
Copyright © 2020-2023  润新知