机器学习和生物信息学实验室联盟

 找回密码
 注册

QQ登录

只需一步,快速开始

搜索
查看: 2211|回复: 3
打印 上一主题 下一主题

一键代码备份

[复制链接]
跳转到指定楼层
楼主
发表于 2014-7-15 00:52:12 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
三更半夜又手抖删了代码。我是懒人,svn也懒得用。我就喜欢永无止境的copy a a.bk这样的方式进行备份,所以经常不小心删代码。

一气之下写了个shell备份代码,在我自己的机器上运行正常,如果有兴趣的同学,自己改改。不保证没有bug,另外我能力有限。
include_dir是备份的目录
ecp_dir是排除的目录
  1. #!/bin/bash

  2. include_dir=("data" "bin" "tasks" "boostdetect")
  3. ecp_dir=("tasks/BING")

  4. find_cmd="find"

  5. for pos in ${include_dir[*]}
  6. do
  7.     find_cmd="${find_cmd} $pos"
  8. done

  9. find_cmd="${find_cmd} \("

  10. len=${#ecp_dir[*]}
  11. if [ $len -ge 1 ]; then
  12.     find_cmd="${find_cmd} -path ${ecp_dir[0]}"
  13. fi

  14. for((i=1;i<$len;i++))
  15. do
  16.     find_cmd="${find_cmd} -o -path ${ecp_dir[i]}"
  17. done

  18. find_cmd="${find_cmd} \) -prune -o -regex '.*/.*\.\(py\|sh\|h\|c\|cpp\)$' -print"
  19. echo $find_cmd
  20. echo $find_cmd | sh > tmp.0
  21. cat tmp.0

  22. files=""
  23. while read line
  24. do
  25.     files="${files} $line"
  26. done <tmp.0

  27. tar czf backup-`date +%F`.tar.gz  $files
  28. rm -rf tmp.0
复制代码
分享到:  QQ好友和群QQ好友和群 QQ空间QQ空间 腾讯微博腾讯微博 腾讯朋友腾讯朋友
收藏收藏 转播转播 分享分享
回复

使用道具 举报

沙发
发表于 2014-7-15 15:20:52 | 只看该作者
高大上啊,
这在啥系统上用啊?
回复 支持 反对

使用道具 举报

板凳
 楼主| 发表于 2014-7-15 15:59:30 | 只看该作者
zouquan 发表于 2014-7-15 15:20
高大上啊,
这在啥系统上用啊?

。。。。。linux
回复 支持 反对

使用道具 举报

地板
发表于 2014-7-16 18:29:59 | 只看该作者
高大上啊
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 注册

本版积分规则

机器学习和生物信息学实验室联盟  

GMT+8, 2024-5-19 10:02 , Processed in 0.067670 second(s), 17 queries .

Powered by Discuz! X3.2

© 2001-2013 Comsenz Inc.

快速回复 返回顶部 返回列表