Linux 自动备份数据攻略(实践篇)
线上篇 linux centos
一、建立基本的备份脚本
A、将程序应用目录如home/wwwroot 以日期形式压缩保存在/data/bakcup
bk_wwwroot.sh
脚本命令:
#! /bin/bash
# 压缩文件 日期格式
t=$(date +%Y%m%d%H%M%S)
cd /data/backup/code
tar -zcvf /data/backup/code/code-$t.tar.gz /home/wwwroot
脚本存储位置在:/data/backup/bk_wwwroot.sh
B、为避免数据过大占用存储资源 删除旧数据保留最近3个文件
#! /bin/bash
#保留3份指定目录下文件名包含tar.gz的文件
ls -t /data/backup/code | awk '$0~/tar.gz/' | awk 'NR>3' | xargs rm -rf
脚本存储位置在:/data/backup/del_old.sh
三、设定定时任务
打开/etc/crontab
insert 编辑添加
0 1 * * * root /data/backup/bk_wwwroot.sh #每天凌晨1点执行bk_wwwroot.sh进行备份
0 2 * * * root /data/backup/del_old.sh #每天凌晨2点执行del_old.sh删除多余备份
ESC 退出编辑模式
:wq
保存退出
四、建立FTP账号
linux 安装了lnmp ftp 所以这里用该工具创建
A、创建FTP站点
lnmp ftp add
ftp_user:middleback
ftp_password:
B、更改FTP站点权限
chmod 777 -R /data/backup/code
特别注意
window环境下用编辑doc下的脚本是没用的 需要进行转换!
在服务器上进行unix转换
vi bk_wwwroot.sh
:set ff #回车显示fileformat=dos
:set ff=unix
:wq #保存退出
另外的脚本文件也要转换