[red hat as4] 대량의 파일을 일정 경로로 mv로 옮기기

redix의 이미지

안녕하세요...큰 고민에 빠져 여기에 글을 올려보네요.
수천만건의 파일을 일정 경로로 옮겨야 하는데(한번에 천개 단위로만 옮겨야 함 ;;)
하나하나 *표 추가해서 옮기는것도 한계가 잇더라고요
자동으로 스크립트를 짜고 싶은데 이것도 실력이 부족하고요
년월시분초.http 라는 파일이 있다고 하면 ...그 파일들을 2초당 옮기는걸 원하는데 어찌 해야 할지..
시스템충돌로 새벽에만 옮겨야 하며 스크립트는 크론탬으로 지정시간에만 돌릴것입니다.
특이한 파일이 일정 경로에 저장 ex)/users/test/
또한 이파일들을 ex)/users/test1으로 옮길 것입니다.
perm은 777로 find해서 찾아서 자동으로 옮기는 법 아시는분들 쫌 갈켜주세요
말이 두서 없네요 ;;

guntoo의 이미지

find . -name asdfsdfsdfsdf > a.txt

이 파일을 앞에 mv 넣어주고 뒤에 옮길 디렉토리 넣어주고

sh a.txt 끝~

guntoo의 이미지

find . -name asdfsdfsdfsdf > a.txt

vi b.sh

#!/bin/sh

a=$(cat a.txt)

for d in echo $a
do
mv $d /asdf/aadsf
done

ga1axy의 이미지

#!/usr/bin/env bash

# 안녕하세요...큰 고민에 빠져 여기에 글을 올려보네요.
# 안녕하세요.. ^^

# 수천만건의 파일을 일정 경로로 옮겨야 하는데
CMD=mv # 이동..

# (한번에 천개 단위로만 옮겨야 함 ;;)
COUNT=1000 # 몇개씩?

# 하나하나 *표 추가해서 옮기는것도 한계가 잇더라고요
# 그렇죠..

# 자동으로 스크립트를 짜고 싶은데 이것도 실력이 부족하고요
# 저두요..

# 년월시분초.http 라는 파일이 있다고 하면 ...
# TODAY=`date '+%Y%m%H%M%S'` # ???????
FILE=*.http # 뭐를?

# 그 파일들을 2초당 옮기는걸 원하는데 어찌 해야 할지..
DELAY=2 # 쉬는 시간.. (초)

# 시스템충돌로 새벽에만 옮겨야 하며
# START_TIME = 새벽

# 스크립트는 크론탬으로 지정시간에만 돌릴것입니다.
# crontab -e

END_TIME=500 # 언제까지? AM 05:00

# 특이한 파일이 일정 경로에 저장 ex)/users/test/
SRC=/users/test/ # 어디서?

# 또한 이파일들을 ex)/users/test1으로 옮길 것입니다.
DST=/users/test1/ # 어디로?

# perm은 777로 find해서 찾아서
PERM=777 # 권한은?
FIND=find # 뭘로?

# 자동으로 옮기는 법 아시는분들 쫌 갈켜주세요
# ./move.script.sh || bash move.script.sh # 실행..

# 말이 두서 없네요 ;;
# 저두요....

while [ $END_TIME -gt `date '+%k%M'` ] # 종료시간이 남았나요?
do # 그러면.
$FIND $SRC -name $FILE -perm $PERM -type f | head -$COUNT | xargs -i $CMD {} $DST # 명령 실행.. Go! Go! Go!
sleep $DELAY # 좀 쉬고.
done # 자자..