Linux上设置定时任务备份文件到GitHub

Linux上设置定时任务备份文件到GitHub

Scroll Down

为了防止服务器上的一些重要的数据丢失,自己跟着群里大佬的文档操作了一下,然后没成功,然后大佬帮我操作的,这里跟着他的视频重新学习一下。

1. 首先配置ssh,防止push的时候需要验证凭证

  • 安装git
yum install git
  • 设置git的用户名和邮箱
git config --global user.name "xxxx"
git config --global user.eamil "xxxx"
  • 获取ssh,如果已经设置过ssh就跳过以下操作
ssh-keygen -t rsa -C "user.email"
//点击四下回车,这样在ssh就生成了
  • 复制ssh
cd ~/.ssh
vim id_rsa.pub
//复制
  • 登录github,新建一个仓库,点击右上角头像,进入settings image.png
  • 新建一个ssh image.png
  • title随便写,key输入前边复制的ssh image.png

2. 测试一下是否可以将文件提交到远程仓库

  • cd到需要提交的文件跟目录,初始化仓库
git init
  • 提交文件到本地仓库
git add test.txt
git commit -m "first commit"
  • 连接远程仓库
git remote add origin ssh地址
  • 将本地仓库push到远程仓库
git push -u origin master
  • 到自己的github上查看文件是否存在,存在则可以配置定时任务了

3. 编辑脚本文件

  • 创建一个文件夹和一个sh脚本并编辑
#! /bin/bash
message=`date -u +"%Y_%m_%d_%H_%M"` 提交的备注信息
cd  需要提交文件的根目录
git add 需要提交的文件
git commit -m $message 
git push 提交到远程仓库
  • 赋予文件执行权限
cd 脚本存放的跟目录,或者下边命令文件写全路径
chmod -x xx.sh
  • 初始化一下仓库
cd 需要提交文件的跟目录
git init
  • 运行一下sh脚本,看是否正确
cd 脚本存放根目录
sh xx.sh
  • 这里可能会有一个警告,git push的语法问题,照着提示执行一下第一条命令
git congig --global push.default matching
  • 再次运行脚本

4. 配置定时任务

  • 使用crontab -e 命令添加定时任务
crontab -e

image.png

  • 这里的脚本要写全路径,每天的三点就会执行这个脚本文件
  • 最后使用service命令使定时任务生效
service crond restart