переменные для скрипта передачи SFTP

переменные для скрипта передачи SFTP

Я пытаюсь сделать следующее:

  • экспортировать базу данных (возможно, сделать из нее .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)"

Связанный контент