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

RHEL / Ubuntu 3-07-2023, 19:31 dsharipov 1 031 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)
Новые комментарии
komronu8 сентября 2022 18:23

Салом, можно ещё создать файл в /etc/nginx/proxy_params, a потом добавить туда

img
К комментарию
sobir26 августа 2022 10:43

Можно ещё так: 1. Создаем отдельную сеть для наших контейнеров docker network

img
К комментарию
komronu22 августа 2022 15:12

Спасибо за отзыв, написал отдельную статью по установке и настройке Ansible

img
К комментарию
sobir19 августа 2022 18:00

Думаю в статье необходимо также описать процесс установки Ansible.

img
К комментарию
sobir17 октября 2021 11:40

Принудительное обновление сертификата: certbot certonly --force-renew -d

img
К комментарию
sobir3 июля 2021 14:19

Можно, но я решил описать процесс копирования ключей более подробно.

img
К комментарию
Все комментарии
Какой дистрибутив Linux вы часто используете?
Календарь
«    Апрель 2024    »
ПнВтСрЧтПтСбВс
1234567
891011121314
15161718192021
22232425262728
2930 
Подпишись на канал