Linux 9. rsync, ssh key, 연속적인 명령 실행
1. rsync
- remote sync:
rsync -a source/ destination
(원본과 목적지 사이 공백 필수)
- rsync는 내용에 변화가 있을 때만, 변화된 내용만을 동기화한다.
- 다른 사용자의 컴퓨터와 동기화:
rsync -azP /디렉터리/ 사용자명@동기화 될 컴퓨터의 ip주소:/디렉터리
(-z: 압축해서, -P: 진행 상황 출력)
- ssh key를 이용하면 로그인 없이도 원격 컴퓨터에 데이터를 동기화시킬 수 있다.
2. ssh key를 통한 로그인
- ssh 공개key 비공개key를 사용해서 번거로운 과정 없이 & 안전하게 로그인이 가능하다.
ssh-keygen
를 통해 키를 생성하면 /.ssh/id_rsa에 공개키(pub)와 비공개키가 생성된다.
- 비공개키는 타인에게 절대 노출되어서는 안되지만 공개키는 타인이 볼 수 있다.
- 키가 저장된 디렉터리는 소유자에 의해서만 rwx가 가능하다.
- 로그인 하고자 하는 곳에 공개키를 저장하면 로그인 과정 없이 로그인이 가능하다.
- 공개키를 저장하는 방법은
ssh-copy-id 로그인 하고자 하는 곳의 사용자명@ip주소
명령을 통해 로그인 하고자 하는 곳의 authorized_keys 파일에 자신의 공개키를 붙여넣는 것이다.
- cron과 같이 정기적으로 실행되는 작업을 다른 컴퓨터와 해야 할 때 ssh key를 사용하면 완전한 자동화가 가능해진다.
3. 연속적인 명령 실행
- ; - 앞 명령의 성공 여부와 상관 없이 다음 명령어 실행
- && - 앞 명령이 실행 성공했을 때만 다음 명령어 실행
- & - 앞 명령은 백그라운드로 실행하고 다음 명령어를 실행