nugawiki

./categories/os

SFTP 파일 리스트 셸

업데이트 2026-07-21 조회수
#!/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

./comments