Как автоматизировать отправку файла на FTP-сервер с помощью скрипта?

Мне нужно взять сценарий make, который берет определенный файл журнала в /var/log/ и помещает его куда-нибудь, где я могу легко его получить (скорее всего, веб-сервер или FTP-сервер, к которому у меня есть доступ). Я не думаю, что хочу использовать почту для отправки. Webdav может быть вариантом. Это просто должно работать без какого-либо взаимодействия с пользователем, и быть довольно быстрым и безболезненным. Какие-либо предложения? (пароль не требуется, в основном)

9
задан 10 August 2012 в 03:23

2 ответа

Еще одна полезная и безопасная команда, которую вы можете использовать, - это команда scp, которая использует ssh для копирования файлов туда и обратно.

Чтобы использовать это, вы можете использовать морской конек, чтобы создать пару ключей ssh ​​и скопировать открытую часть ключа в ~ / .ssh /. Вы не должны защищать пароль, который вы используете для этого, паролем, поскольку вы не хотите входить в систему, чтобы использовать его. Возможно, вам следует использовать только ту пару паролей, которую вы используете для этого сценария. Вы используете опцию scp -i identity, чтобы выбрать ее.

Закрытый ключ заменяет открытый текстовый пароль.

Полагаю, вы могли бы при желании поместить вызов скрипта в ваш crontab.

С помощью полезного подхода izx вы должны быть осторожны, чтобы защитить место размещения скрипта, чтобы защитить «соленый» пароль для удаленного компьютера от посторонних глаз. При таком подходе вы должны будете позаботиться о защите частной части пары ключей, поскольку она не защищена паролем.

0
ответ дан 10 August 2012 в 03:23
  • Файлы журналов в /var/log обычно доступны для чтения всем и не требуют пароля для доступа.
  • Если у вас уже есть FTP-сервер - может быть также и серверным веб-сервером - самый простой вариант IMO - использовать утилиту wput.
    • При необходимости установите его с sudo apt-get install wput.
    • Синтаксис:
      wput [options] [file]... [url]...
    • , где URL имеет вид:
      ftp://[username[:password]@]hostname[:port][/[path/][file]]
  • Пример:

    wput /var/log/syslog ftp://jack:salty@ftp.website.com/www/mylogs/ 
    
  • Используйте опцию -u для принудительной загрузки, когда файл назначения уже существует.

  • См. wput --help или man wput для многих других вариантов.

Примечание: Размещение пароля в виде открытого текста, как в приведенных выше примерах, в целом крайне небезопасно; Я настоятельно рекомендую создать ограниченную учетную запись FTP на сервере, которая позволяет загружать файлы только в специальный каталог, который вы создаете для загрузки / просмотра журналов.

0
ответ дан 10 August 2012 в 03:23

Другие вопросы по тегам:

Похожие вопросы: