개발 Q&A

제목 cron으로 백업파일을 받고있는데요..경로문제..
카테고리 DB
글쓴이 책상다리 작성시각 2019/11/19 11:00:36
댓글 : 4 추천 : 0 스크랩 : 0 조회수 : 13282   RSS
#!/usr/bin/expect -f
set timeout 300
set today [timestamp -format %Y%m%d]

cd /backup -> 디렉토리 이동
spawn sftp -oPort=2000 id@domain.com
expect "password" { send "password\r"}
expect "sftp>" {send "cd mysql_backup\r"}
expect "sftp>" {send "get $today.dmp.gz\r"}
expect "sftp>" {send "quit\r"}

 

expect 로 sftp를 접속해서 하루에 한번 홈페이지 백업파일을 받고 있습니다.

cron동작이나 sftp접속에는 별 이상이 없는데, 파일이 받아지는 경로가 문제입니다.

/backup 이라는 폴더안에 스크립트를 넣어놨고, 크론에서도 경로는 그쪽으로 지정해놨습니다.

 

그런데 받아지는 파일은 /root 에 받아집니다.

저는 스크립트 파일을 /backup에 넣어놨으니 자동으로 거기에 받아지겠거니 생각했는데;

경로지정을 따로 해줘야 하는거 같습니다만...혹시 어떻게 지정해줘야할까요.

 다음글 AJAX를 통해서 결과를 받은 후에 다른 페이지에서 동... (5)
 이전글 안녕하세요, 다중 파일업로드. 파일 업로드한 정보 (3)

댓글

변종원(웅파) / 2019/11/19 11:35:02 / 추천 0

소스를 올리시면 답변이 가능하겠네요. 

그게 아니면 리눅스 일반 명령어중 디렉토리 이동명령어를 보시거나 절대경로에 대한 문서를 참고하시라고 밖에 답변을 못합니다.

책상다리 / 2019/11/19 11:59:26 / 추천 0

변종원님//감사합니다. 일단 소스 추가로 수정했습니다

send "cd /backup\r" 이 부분을 여러모로 수정해서 테스트 해보고 있습니다만 차이가 없어서 질문하게 됐습니다.

s

변종원(웅파) / 2019/11/19 12:58:36 / 추천 0

expert 쉘스크립트는 처음 보지만 http://slog2.egloos.com/v/3491591 에 보시면 set directory /a/b 로 변수 선언을 합니다.

로컬 디렉토리 이동명령과 서버 디렉토리 이동명령이 다른걸로 알고 있습니다. 

expert 구문을 찾아보시기 바랍니다.

책상다리 / 2019/11/19 14:30:27 / 추천 0

스택오버플로우에서 찾았습니다.

가장 기본이 되는걸 시험안해보다니....

하아...해결됐습니다. 도움주셔서 감사합니다.