zoukankan      html  css  js  c++  java
  • 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:目的路径

  • 相关阅读:
    linux初学者-普通磁盘分区篇
    linux初学者-延迟及定时任务篇
    linux初学者-网络管理篇
    linux初学者-虚拟机联网篇
    贪吃蛇Ground Java实现(二)
    贪吃蛇 Java实现(一)
    创建异常
    IO流
    实训第一天
    Array 遍历数组
  • 原文地址:https://www.cnblogs.com/M-98k/p/12674705.html
Copyright © 2011-2022 走看看