
나는 다음을 시도하고 있습니다 :
- 데이터베이스 내보내기(아마도 .tgz를 만들 수도 있습니다. 이는 사소한 일입니다)
- 전체 트리를 .tgz로 압축
- 두 파일을 다른 서버의 명명된 디렉터리에 복사합니다.
나~할 수 있다현재 가지고 있는 스크립트(bash)를 사용하여 이 모든 작업을 수행하세요. 하지만 자동화하려는 경우에는 더 많은 자동화가 필요합니다.
지금 이 순간 나는
- 오늘 날짜로 디렉토리 만들기
- mysqldump 해당 날짜가 포함된 이름을 가진 파일로 데이터베이스를 덤프합니다.
- 오늘 날짜가 포함된 이름으로 디렉토리 트리의 .tgz를 다시 생성합니다.
- sftp를 통해 서버에 연결합니다(또는 scp는 중요하지 않습니다... Windows(s)ftp(s) 서버입니다)
- (현재 정적) 파일을 (현재 정적) 디렉토리에 업로드
- SFTP 서버를 종료하고 업로드 상태를 내보냅니다.
sftp 서버에 연결하기 전에 두 파일 이름을 변수로 변환하여 "put $filename1" 등을 말할 수 있습니까?
답변1
모든 POSIX 쉘(및 포함 bash
)에서 다음과 같은 명령을 사용할 수 있습니다.
# Today's date
today=$(date +'%Y-%m-%d')
# Create directory
mkdir "$today"
# Dump SQL backup
mysqldump … > "$today/sqlbackup.$today.sql"
# Make a tarball
tar cf "$today.tgz" "$today"
# Transfer file
scp -p "$today.tgz" remoteHost:
# Get a status report from the immediately preceding command
echo "Status is $? (0=good)"