Intereting Posts
Почему этот системный ресурс не ограничен? Pdf-ридер, поддерживающий формы XFA (в то время как Adobe Reader не поддерживается в недавнем Linux)? Использование специального символа "и` в команде send в сценарии ожиданий Как создать виртуальную клавиатуру kvkbd на экране входа в систему? Список аргументов слишком длинный, всего 5000 файлов Распределение выходных данных до максимального количества столбцов Ошибка компиляции ядра Linux 2.6.38 Как отслеживать / записывать команды, выполненные в оболочке? Как сохранить содержимое BuildRoot? создание пакета Debian завершается с ошибкой на этапе dh_auto_install Как сделать фиктивное приложение считывает файлы gzip («на лету») без изменений кода Случайные сбои на XFCE – как диагностировать, что происходит? Как создать псевдоним для команды git (включая пробелы)? Можем ли мы исправить уже исправленный шрифт? Как проверить, находится ли текущий сеанс оболочки в графическом интерфейсе или tty

SSH, Putty и отправка данных в кластер

У меня есть ssh доступ к кластеру через Putty. У меня также есть сценарий, который после его запуска выполняет некоторые команды, генерирует данные и отправляет их по электронной почте.

Можно ли предоставить следующее: я посылаю некоторую команду через Putty с некоторыми данными, которая инициализирует скрипт и запускает его автоматически?

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

У вас есть два варианта:

1) скопируйте файл через ssh с хоста linux / cygwin:

 cat local-file | ssh host 'cat > remote-file & your-command' 

2) запустите задание cron, чтобы отслеживать заданную папку ( /folder в приведенном ниже примере) и обрабатывать файлы (один за другим, сначала перемещая файл в другом месте (в /processed/ в приведенном ниже примере), так что он больше не подбирается, затем обрабатывается вашим скриптом ( your-command в приведенном ниже примере с файлом для обработки в качестве аргумента).

 * * * * * find /folder -type f -mmin +1 -maxdepth 1 | while read file; do mv "$file" /processed/; your-command "/processed/${file##*/}"; done 

Убедитесь, что вы добавили -mmin +1 (изменено более одной минуты назад), иначе файлы могут быть обработаны при копировании.