数据科学杂谈之六--自动备份

数据科学在项目截止之前很长一段时间内,需要大量的工作,如数据清洗,数据整合,以及数据性质探索等等。 这部分代码杂乱且与数据分析代码关系不大,最好的方法是按照时间标签进行备份,以便回溯到历史的某一时刻和全局检索代码。

翻译翻译“什么叫做自动备份”,就是“定时触发备份服务器中所有代码”。 因为服务器的定时触发cron是需要管理员用户授权且管理员往往不得不固执保守,所以用本地电脑cron作为定时触发器。 在服务器上用rsync备份代码以及代码的文件夹结构,然后需要在本地生成ssh密钥弄到服务器上,这样就可以实现本机不需要手动输入密码。 在服务器上也可以用类似方法生成git lab的密钥,然后服务器推送代码到git lab也不需要手动输入密钥。 综上,某书呆用的方法具体是在每周三下午两点半开组会的时候:

  1. 本地电脑自动cron触发ssh通信连接到服务器,告诉服务器执行备份脚本
  2. 服务器开始用rsync把.sh .py .R .java .org .c .cpp 等代码文件连同文件夹结构一同复制到目标文件夹
  3. 服务器进入目标文件夹中,进行git add, git commit 和 git push 到 git lab
  4. 服务器将该文件夹压缩成 .tar.gz 文件
  5. 将该文件复制到本地

经过以上步骤,源码在服务器中非压缩有两份,压缩一份,在git lab服务器有一份,在本地电脑有压缩文件一份。 服务器中非压缩的源码,可以用git全局搜索,git lab服务器可以在网页上直观查看,本地压缩包是备份的备份。

石见 石页 /
在共享协议(CC)下发布于
类别: technology 
标签: 备份  自动备份  数据科学杂谈  中