Простенький sftp bash script

RHEL / Ubuntu 3-07-2023, 19:31 dsharipov 2 892 0

#!/bin/bash
# Замените значения переменных ниже на свои данные
HOST="hostname" # Адрес сервера SFTP
PORT="port" # Порт сервера SFTP
USER="username" # Имя пользователя SFTP
REMOTE_DIR="/path/to/remote/directory" # Удаленная директория, из которой нужно загрузить файлы
LOCAL_DIR="/path/to/local/directory" # Локальная директория, в которую нужно сохранить файлы
PRIVATE_KEY="/path/to/private/key" # Путь к приватному ключу SSH
# Создаем командный файл для sftp
echo "lcd $LOCAL_DIR" > sftp_commands.txt
echo "cd $REMOTE_DIR" >> sftp_commands.txt
echo "get *" >> sftp_commands.txt
echo "bye" >> sftp_commands.txt
# Запускаем sftp с командным файлом и передаем ему переменные окружения
sftp -P $PORT -i $PRIVATE_KEY $USER@$HOST < sftp_commands.txt
# Удаляем временный командный файл
rm sftp_commands.txt

В этом скрипте мы создаем временный командный файл sftp_commands.txt, в котором указываем команды для sftp: переходим в локальную директорию, переходим в удаленную директорию, загружаем все файлы и завершаем сессию. Затем мы запускаем sftp с этим командным файлом и передаем ему переменные окружения для подключения к серверу SFTP с использованием приватного ключа SSH.

Не забудьте заменить значения переменных HOST, PORT, USER, REMOTE_DIR, LOCAL_DIR и PRIVATE_KEY на свои данные перед запуском скрипта.

Для автоматизации выполнения можете добавить задание в крон.
Похожие новости
Ограничение SFTP доступа группе пользователей в CentOS 8 / RHEL 8

Ограничиваем доступ группе пользователей по протоколу SFTP и создадим синонимы директорий в дереве файловой...

Подробнее
Настройка авторитетного DNS сервера BIND в CentOS 8 / RHEL 8

Установка и настройка первичного сервера доменных имен BIND....

Подробнее
Разворачиваем LEMP-стэк на контейнерах Docker

Контейнеризируем сервисы LEMP с помощью docker-compose....

Подробнее
Настройка сервера синхронизации времени NTP chrony в CentOS 8 / RHEL 8

Настройка сервера точного времени NTP chrony для узлов в сети....

Подробнее
How to mount a ftp host as a local directory in Linux

Mount remote ftp hosts as local directories....

Подробнее
Как изменить путь хранения данных по умолчанию в Docker

Переносим данные Docker в другую директорию....

Подробнее
Комментарии (0)
Новые комментарии
sobir8 ноября 2024 12:42

Цитата: FidoNet Цитата: sobir Цитата: FidoNet Спасибо за статью. Остальные

img
К комментарию
FidoNet7 ноября 2024 03:26

Цитата: sobir Цитата: FidoNet Спасибо за статью. Остальные статьи что находил

img
К комментарию
sobir27 октября 2024 19:02

Цитата: FidoNet Цитата: sobir Цитата: FidoNet Можт быть дело в

img
К комментарию
FidoNet25 октября 2024 22:04

Цитата: sobir Цитата: FidoNet Можт быть дело в dnsmasq.service? Ошибка Failed

img
К комментарию
sobir25 октября 2024 16:48

Цитата: FidoNet Цитата: sobir Цитата: FidoNet Спасибо за статью. Остальные

img
К комментарию
FidoNet20 октября 2024 12:12

Можт быть дело в dnsmasq.service? Ошибка Failed to set DNS configuration: Unit

img
К комментарию
Все комментарии
Какой дистрибутив Linux вы часто используете?
Календарь
«    Ноябрь 2024    »
ПнВтСрЧтПтСбВс
 123
45678910
11121314151617
18192021222324
252627282930 
Подпишись на канал