当前位置:首页 > 操作系统 > Linux

Linux数据备份

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

 

#!/bin/bash

BACKDIR="/home/tan/getll_backup"if [ ! -d $BACKDIR ]; thenmkdir $BACKDIR
fi;

BACKDIR_TMP=$BACKDIR"/backup"if [ -d $BACKDIR_TMP ]; thenecho 临时目录存在...
elsemkdir $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 命令。

原文:http://www.cnblogs.com/tanhehe/p/4140899.html


【说明】本文章由站长整理发布,文章内容不代表本站观点,如文中有侵权行为,请与本站客服联系(QQ:254677821)!