资讯专栏INFORMATION COLUMN

Linux数据定时备份

Tecode / 1888人阅读

摘要:将以下内容复制粘贴到中远程地址使用不要使用定时任务配置初始化仓库赋予执行权限设置备份执行时间执行添加的绝对路径表示每天三点执行使定时任务生效完结撒花

写在前面

这里以本人备份halo博客系统数据为例,将halo的数据备份到github,因此需要一个github账户,并为其配置好ssh(github如何配置ssh,这里不再赘述,目的是不用每次输入用户名和密码)。

环境

服务器 centos7.6并安装Git

安装Git

使用默认的yum源安装,但不一定保证Git是最新的。

# 安装git
[root@10-23-202-173 ~]# yum install -y git

# 查看版本
[root@10-23-202-173 ~]# git version
git version 1.8.3.1

# 配置git用户名
[root@10-23-202-173 ~]# git config --global user.name "owye"

[root@10-23-202-173 ~]# git config --global user.email "my.cherish@outlook.com"

# ssh设置生成公钥
ssh-keygen -t rsa -C "your email" //后续只需要按回车即可

# 进入用户目录查看公钥
[root@10-23-202-173 /]# cd ~/.ssh
[root@10-23-202-173 .ssh]# ls
authorized_keys  id_rsa  id_rsa.pub

# 查看公钥内容,配置到码云或github
[root@10-23-202-173 .ssh]# cat id_rsa.pub


去 Github 配置 `ssh key`。目的是在 `push` 的时候不需要输入用户名和密码。

# 最后验证是否配置成功
[root@10-23-202-173 ~]# ssh -T git@github.com

备份脚本

自动提交的脚本,将其写入到一个 sh 文件里面,如 halo-backup.sh

[root@10-23-202-173 ~]# cd /bin
[root@10-23-202-173 bin]# vi halo-backup.sh

将以下内容复制粘贴到 halo-backup.sh 中远程地址使用SSH不要使用HTTPS

#! /bin/bash
message=`date -u +"%Y_%m_%d_%H_%M"`
cd /root/.halo
rm -rf .git
git init
git remote add origin git@github.com:owye/halo-backup.git
git add application.yaml upload/ db/
git commit -m "`date +%D`"
git push -f origin master

定时任务配置

# 初始化 ~/.halo 仓库
cd ~/.halo & git init

# 赋予执行权限 
[root@10-23-202-173 bin]# chmod +x halo-backup.sh
[root@10-23-202-173 bin]# crontab -e

# 设置备份执行时间
# 执行 crontab -e 添加 00 03 * * * /bin/sh halo-backup.sh 2>autoupdate.err 的绝对路径
# (00 03 * * * 表示每天三点执行)
crontab -e

# 使定时任务生效
service crond restart

完结撒花!

文章版权归作者所有,未经允许请勿转载,若此文章存在违规行为,您可以联系管理员删除。

转载请注明本文地址:https://www.ucloud.cn/yun/126079.html

相关文章

  • Linux定时备份数据库到指定邮箱

    摘要:本文转自豆浆下每天备份数据库并发送到指定邮箱一配置邮箱这里使用的是网易邮箱邮箱的服务,服务器是。成功收到邮件,没问题。编写脚本和定时任务万事俱备,接下来要做自动化工作建立一个备份脚本,并使用定时任务每天执行它。 本文转自豆浆Melon :linux下每天备份Mysql数据库并发送到指定邮箱 一、配置邮箱 这里使用的是网易邮箱126邮箱的STMP服务,服务器是smtp.126.com。...

    hellowoody 评论0 收藏0

发表评论

0条评论

最新活动
阅读需要支付1元查看
<