폴더를 다른 폴더로 백업 받아 놓으려고 하는데, 폴더별로, 어느정도 작업이 되고 있는지 보고 싶은데,
이게 용량이 몇테라씩 하다보니까, 하나끝내고 하나 끝내는거
보고 있기가 너무 빡세서,
그냥 쉘 스크립트로 만들었다.
먼저
test, test2, test3 폴더 3개를 test_copied 폴더로 복사할꺼다.
$> cp -rv --preserve=timestamps /volume1/shared/test/test /volume1/shared/test/test_copied
$> cp [옵션] [원본위치] [복사될위치]
-r 은 하위폴더 포함이고,
-v 는 보기 좋게 나오는거고,
--perserve=simestamps 는 원본에 있는 생성 시간은 유지하고 복사하는거다.
먼저 복사를 원하는데 가서,
$ vi test.sh
를 쳐서 에디터로 들어간다.
/volume1/shared/test/test폴더를 /volume1/shared/test/test_copied 폴더로 복사할것이다.
i를 눌러서 편집 입력 모드로 만들고,
아래처럼 쓴다.
cp -rv --preserve=timestamps /volume1/shared/test/test /volume1/shared/test/test_copied
echo "Finish test1" >> cp_log.txt
cp -rv --preserve=timestamps /volume1/shared/test/test2 /volume1/shared/test/test_copied
echo "Finish test2" >> cp_log.txt
cp -rv --preserve=timestamps /volume1/shared/test/test3 /volume1/shared/test/test_copied
echo "Finish test3" >> cp_log.txt
먼저 test폳더 복사후 cp_log.txt에 "Finish Test1"이란 로그를 남겨 놓는다.
그다음에 test2폴더를 복사후 로그를 남기고, test3도 마찮가지이다.
$> echo "Finish test1" >> cp_log.txt
여기에서 echo는 문자 출력이고, >>는 cp_log.txt파일에 추가하라는 이야기다.( '>' 두개임)
여기에서 > 를 한번만 쓰면, 이전꺼는 지우고, 마지막 문자만 들어간다.
작성후, 'ESC'를 눌르고, :wq 를 입력후 나온다.
그다음에 copy.sh를 실행하는 방법은 아래 3가지 방법이 있다.
$ ./copy.sh
$ sh copy.sh
$ bash copy.sh
난 개인적으로 ./copy.sh로 실행을 했다.
실행을 하면 권한이 없다는 말이 나올것이다.
그러면 아래와 같이 권한을 준다.
$ chmod 700 copy.sh
를 친다.
그다음에 다시
$ ./copy.sh
를 실행한다.
백그라운드로 작업하고 싶으면,
$ ./copy.sh &
백그라운드 관련 포스터 http://tyson.tistory.com/88
하면 실행될 것이고 끝나면,
$ cat cp_log.txt
를 하면 어디까지 복사 됬는지 볼 수 있다.
'컴퓨터 > 리눅스 클라우드(AWS, GCP)' 카테고리의 다른 글
Google Cloud Platform (GCP) 터미널접속(root접속) (0) | 2018.02.20 |
---|---|
리눅스 백그라운드 작업(SSH 끊겨도 유지) (0) | 2018.02.01 |
cp를 이용한 폴더 복사 (0) | 2018.01.31 |
rsync를 이용한 리눅스파일 복사(리모트 복사) (0) | 2018.01.31 |
리눅스 폴더 소유자 바꾸기 (0) | 2018.01.31 |