如何备份服务器日志到其他服务器_自动备份服务器代码到github

代码定时自动备份,此处以Linux ubuntu16.04服务器环境为例

需要:一个自己的github账号

github仓库准备

1.注册一个账号 (步骤略)

2.新建一个存储的文件夹/仓库

b5979eaa841bd60045a3007df8efead7.png

3.在本地环境生成公钥

ssh 公钥认证是ssh认证的方式之一。通过公钥认证可实现ssh免密码登陆,git的ssh方式也是通过公钥进行认证的。在用户目录的home目录下,有一个.ssh的目录,和当前用户ssh配置认证相关的文件,几乎都在这个目录下。
$ la ~/
.aspera                 .bash_history  bkcode  .condarc  .dbus         .git        .java     .lesshst  .nano            .selected_editor  .viminfo    .Xauthority
asperaweb_id_dsa.putty  .bash_logout   .cache  .config   deepLearning  .gitconfig  .jupyter  .local    .profile         software          .wget-hsts
bam.list                .bashrc        .conda  data      git           .ipython    .keras    .mozilla  .python_history  .ssh              workshop
$ cd ~/.ssh
$ ssh-keygen -f git_test  -C "test key" 
$ ls
git_test  git_test.pub
$ $ cat git_test.pub
ssh-rsa AAAAB3NzaC1y*************JS2JMDphfr+NvN be**@yahoo.com

4.复制公钥到github账号

右上角账号头像——settings——(左边导航栏)SSH and GPG keys——new SSH key ——Add keys

保存后:

201682df5c7b631993fda058a656e0d9.png

把远程版本库克隆到本地(选择SSH)

037fdb2aa2446acc923d7e0096d7cbfc.png
$ git clone git@github.com:l***/bkcode.git
Cloning into 'bkcode'...
warning: You appear to have cloned an empty repository.
Checking connectivity... done.
$ cd bkcode/
$ ls
02Vigen.sh               15vip_gatk.sh                23survival.ipynb     bowtie2.sh                   ...

在本地服务器内会有了一个叫“bkcode”(你设定的github仓库名)的文件夹,把你想备份的文件都复制到这个文件夹里 (软连接不行,只会保存link的路径)注意!仓库存储的单个文件大小不可大于100M(github的限制),不然就会一直报错,其他文件也无法上传。

正式开始上传文档(手动上传更新)

$ cd bkcode/
$ git add .
# (optional)
$ git status
On branch master
No commits yet
Changes to be committed:
  (use "git rm --cached <file>..." to unstage)

	new file:   02Vigen.sh
	new file:   04HLAdata_processing.py
	new file:   06MPC_transfer.py

# 每次都要修改备注,否则会报错
$ git commit -m "First commit."
[master (root-commit) f931181] First commit.
 21 files changed, 45477 insertions(+)
 create mode 100644 02Vigen.sh
 create mode 100644 04HLAdata_processing.py
 create mode 100644 06MPC_transfer.py

# pull code from github
$ git pull
# uoload codes to github
$ git push 

#删除文件和git的记录
$ git rm <file>

此时刷新你的github网页就会看见更新了的代码啦

设定自动更新代码

先设定能push文件的shell代码,在bkcode/文件夹内编写一个小程序来执行 autoupdate.sh

#! /bin/bash
git add .
git commit -m "`date '+%D'`"
git push

再用 crontab 软件来设定定时运行程序

# 安装crontab过程略
$ crontab -e (选择和进入编辑器编辑代码,后保存退出)
# 每天凌晨12点执行autoupdate.sh这个代码
$ 0 0 * * * /bin/bash /path/to/bkcode/autoupdate.sh 2>autoupdate.err

4d3869489ac4ba7cae1ba166fd5dec63.png

74d6e548033d9aa57e8ddd0d102a0d12.png
crontab 命令设置

DONE!

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值