|
|
三更半夜又手抖删了代码。我是懒人,svn也懒得用。我就喜欢永无止境的copy a a.bk这样的方式进行备份,所以经常不小心删代码。
一气之下写了个shell备份代码,在我自己的机器上运行正常,如果有兴趣的同学,自己改改。不保证没有bug,另外我能力有限。
include_dir是备份的目录
ecp_dir是排除的目录- #!/bin/bash
- include_dir=("data" "bin" "tasks" "boostdetect")
- ecp_dir=("tasks/BING")
- find_cmd="find"
- for pos in ${include_dir[*]}
- do
- find_cmd="${find_cmd} $pos"
- done
- find_cmd="${find_cmd} \("
- len=${#ecp_dir[*]}
- if [ $len -ge 1 ]; then
- find_cmd="${find_cmd} -path ${ecp_dir[0]}"
- fi
- for((i=1;i<$len;i++))
- do
- find_cmd="${find_cmd} -o -path ${ecp_dir[i]}"
- done
- find_cmd="${find_cmd} \) -prune -o -regex '.*/.*\.\(py\|sh\|h\|c\|cpp\)$' -print"
- echo $find_cmd
- echo $find_cmd | sh > tmp.0
- cat tmp.0
- files=""
- while read line
- do
- files="${files} $line"
- done <tmp.0
- tar czf backup-`date +%F`.tar.gz $files
- rm -rf tmp.0
复制代码 |
|