zoukankan      html  css  js  c++  java
  • Linux数据备份

    今天需要用到备份网站,写了个脚本,备份了mysql和redis数据。

    #!/bin/bash
    
    BACKDIR="/home/tan/getll_backup"
    
    if [ ! -d $BACKDIR ]; then
      mkdir $BACKDIR
    fi;
    
    BACKDIR_TMP=$BACKDIR"/backup"
    
    if [ -d $BACKDIR_TMP ]; then
      echo 临时目录存在...
    else
      mkdir $BACKDIR_TMP
      echo 创建临时目录成功...
    fi
    
    SUFFIX=$(date +%y%m%d)
    
    backupFileName=$BACKDIR_TMP/mysql_$SUFFIX.sql
    
    mysqldump -uroot -p0000 GetLL > $backupFileName
    
    echo 备份数据库完成...
    
    # 带属性复制
    cp -a /var/lib/redis/appendonly.aof /var/lib/redis/dump.rdb $BACKDIR_TMP
    echo 备份redis完成...
    
    # 使用tar, 这里最好不要使用绝对路径
    echo 进行打包...
    cd $BACKDIR && tar -czvpf back_$SUFFIX.tar.gz backup/
    
    # 删除临时目录
    rm -r backup
    
    echo 删除临时目录成功
    
    echo 备份完成

    接下来需要做的就是定时执行。

    sudo crontab -e 编辑cron命令, 写入:

    0 6 * * * sh ~/getll_auto_backup.sh >> /var/log/getll/cron.log

    其中 sudo 表示的是使用 root来执行,这时 ~ 表示的是 /root 目录。

    这条命令的意思是每天6点执行  sh ~/getll_auto_backup.sh 这条命令,而把输出重定向到  /var/log/getll/cron.log, 具体的可以谷歌 cron 命令。

  • 相关阅读:
    状态管理cookie 案例
    JavaScript对象(document对象 图片轮播)
    JavaScript对象(窗口对象 定时器对象 )
    JavaScript对象(正则表达式,Date对象,function对象 arguments对象)
    CSS概述<选择器总结>
    HTML表单
    Web表格
    JDBC项目实践
    JDBC获取表的主键
    JDBC中DAO事务函数模版
  • 原文地址:https://www.cnblogs.com/tanhehe/p/4140899.html
Copyright © 2011-2022 走看看