定时备份linux里的数据

最近听说有博主的文档被删除了,触发了我的被害妄想症所以做了备份的策略
策略很简单,利用crontab 定期去备份指定路径,压缩 并上传到ftp中。
crontab

利用工具

  1. linux crontab
  2. 一台ftp 服务器
  3. 由于我shell 命令不太熟,这里使用的java 实现,打成docker 镜像。

docker 备份工具介绍

我还备份了mysql

time=$(date "+%Y%m%d-%H%M%S")
# 备份到mysql 到指定目录
docker exec -it mysql mysqldump -uroot -pllw19950822 halodb > /root/backup/mysql/"${time}backup.sql"

把本地文件定期备份到ftp中

docker run -it --rm \
-e "JAVA_OPTS=--PATHS=/data/xxx --HOST=yourhost --PORT=port --USER_NAME=username --PASSWORD=password --BACK_UP_DIR=yourDir" \
 -v ~/:/data ccr.ccs.tencentyun.com/liulewei/back-up:latest
参数 说明 例子
PATHS 你需要备份文件的本地路径 可以为多个以,分割 /data/xxx,/data/xyy
HOST 你ftp 服务器的路径 xxx.site
PORT 你ftp 服务器的端口号 一般为21 21
USER_NAME 你ftp 服务器的用户名 root
PASSWORD 你ftp 服务器的密码 pass
BACK_UP_DIR 你ftp中的文件夹路径 /backup