LINUX自动备份数据库和程序,并删除过期日志

2018-07-16  本文已影响23人  Success85

一、创建备份脚本文件:backup.sh

#!/bin/bash
#backup /data/wwwroot and database

###################切换到web目录#################
cd /data

###################删除web日志#################
rm -f ./wwwlogs/access_apache.log-$(date +%Y%m%d --date='7 days ago').gz
rm -f ./wwwlogs/error_apache.log-$(date +%Y%m%d --date='7 days ago').gz
rm -f ./wwwlogs/xxxx.com_apache.log-$(date +%Y%m%d --date='7 days ago').gz
rm -f ./wwwlogs/xxxx.com_error_apache.log-$(date +%Y%m%d --date='7 days ago').gz

###################删除备份文件#################
rm -f backup/xxxx_com_$(date +%Y%m%d --date='7 days ago').tar.gz
rm -f backup/xxxx_com_$(date +%Y%m%d --date='7 days ago').tar.gz

###################备份web程序##################
tar -zcf backup/xxxx_com_$(date +%Y%m%d).tar.gz ./wwwroot/xxxx.com/*
tar -zcf backup/xxxx_com_$(date +%Y%m%d).tar.gz ./wwwroot/xxxx.com/*

###################删除备份数据库####################
rm -f backup/xxxx_com_$(date +%Y%m%d --date='7 days ago').sql.gz

###################备份数据库####################
/usr/local/mysql/bin/mysqldump -uaaaa -p"aaaa" xxxx_com | gzip > backup/xxxx_com_$(date +%Y%m%d).sql.gz

#################导出单个表数据和结构############
/usr/local/mysql/bin/mysqldump -u账号 -p 数据库名 表名 > /root/XXXX.sql

二、添加可执行权限

chmod +x backup.sh

三、定时执行

crontab -e
0 1 * * * /home/backup.sh

分 时 日 月 周 命令文件
则为每天凌晨1点执行,/home/backup.sh 这个shell脚本。
修改完成后,按键盘右上角的“esc”键,然后输入英文的冒号加x(:x),回车完成。
更多crontab使用请打开:https://www.jianshu.com/p/dd786a51a57a

上一篇 下一篇

猜你喜欢

热点阅读