首页 > 代码库 > Linux数据备份

Linux数据备份

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

 

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

Linux数据备份