./categories/os
SFTP 파일 리스트 셸
#!/bin/bash
REMOTE_ADDR="REMOTE_IP"
REMOTE_USER="USER"
REMOTE_DIR="/remote/dir"
LOCAL_DIR="/local/dir"
# 동시 실행 방지
SHELL_EXEC=`ps -ef | grep "/bin/sh -c /path/to/get_file.sh" | grep -v grep | wc -l`
if [ "$SHELL_EXEC" -gt 1 ]; then
exit 0
fi
# 원격 파일 리스트
FILES=`sftp -b - $REMOTE_USER@$REMOTE_ADDR <<EOF
cd $REMOTE_DIR
ls FILE_*.txt
EOF`
FILES=`echo $FILES | sed "s/.*sftp> ls FILE_\*.txt//"`
[ -z "$FILES" ] && exit 0
# get + rename to backup
(
echo cd $REMOTE_DIR
echo lcd $LOCAL_DIR
for FILE in $FILES; do
echo get $FILE
echo rename $FILE $REMOTE_DIR/backup/$FILE
done
) | sftp -b - $REMOTE_USER@$REMOTE_ADDR
- 사전: ssh-keygen 등으로 무암호 sftp
관련 링크: https://twofootdog.tistory.com/110
./comments