Created
September 13, 2017 01:33
-
-
Save shenxgan/06ede52ff8cd1bf928ac8b50b3e4e9c9 to your computer and use it in GitHub Desktop.
批量移动目录并建立软链接
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
| #!/bin/bash | |
| # 此脚本用来移动clean数据并建立软链接 | |
| export LANG="en_US.UTF-8" | |
| # 路径 | |
| src="/data1" | |
| dst="/data2" | |
| function usage() { | |
| cat << EOF | |
| Usage: $0 begin end [real] | |
| begin, end 参数是日期字符串格式,示例:2015-10-01 | |
| real 有此参数即进行实际的mv,否则仅打印mv信息 | |
| Example: $0 2015-10-01 2015-12-12 | |
| EOF | |
| exit 0 | |
| } | |
| [ $# -ne 2 -a $# -ne 3 ] && usage | |
| begin=$1 | |
| end=$2 | |
| [ $# -eq 3 ] && run=$3 | |
| if [[ "$begin" > "$end" ]]; then | |
| echo "开始日期大于结束日期!" | |
| exit -1 | |
| fi | |
| if [ ! -d $src/$begin ]; then | |
| echo "不存在 $src/$begin 目录!" | |
| exit -2 | |
| fi | |
| if [ ! -d $src/$end ]; then | |
| echo "不存在 $src/$end 目录!" | |
| exit -3 | |
| fi | |
| [ ! -d $dst ] && mkdir -p $dst | |
| while true; do | |
| if [ "$run" = "real" ]; then | |
| echo "[real] mv ${src}/$begin ${dst}" | |
| mv ${src}/$begin ${dst} | |
| echo "[real] ln -s ${dst}/$begin ${src}/$begin" | |
| ln -s ${dst}/$begin ${src}/$begin | |
| else | |
| echo "[test] mv ${src}/$begin ${dst}" | |
| echo "[test] ln -s ${dst}/$begin ${src}/$begin" | |
| fi | |
| [ "$begin" = "$end" ] && break | |
| begin="`date -d \"$begin 1 days\" +%Y-%m-%d`" | |
| done |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment