Мне было поручено автоматизировать скрипт, и я написал для этого сценарий. Этот сценарий должен запускаться как из центра обработки данных, так и из AWS. В итоге результат должен быть заархивирован и отправлен предполагаемому получателю.замените uuencode в сценариях оболочки UNIX (для отправки электронной почты из окна UNIX)
Я использовал uuencode
для генерации почты в датацентре, которая работает абсолютно точно в датацентре. Однако, когда я запускаю его в AWS, я получаю сообщение об ошибке Syntax error: uuencode, not found
.
При поиске в Интернете я узнал, что это происходит, потому что uuencode
не установлен на моей машине AWS. Это правильно, когда я это проверил.
Я новичок в кодировании, любая помощь будет действительно оценена. Моя проблема заключается в том, что AWS - это клиентская машина, где мы не должны устанавливать что-либо новое. Таким образом, установка uuencode
здесь не является вариантом.
Может кто-нибудь, пожалуйста, дайте мне знать альтернативную команду для uuencode.
Вот мои Linux версии:
Linux AWS версия: 3.8.13-55.1.2.el6uek.x86_64 # 2 SMP Чт 18 декабря 00:15:51 PST 2014 x86_64 x86_64 x86_64 GNU/Linux
версияLinux центров обработки данных: 2.6.18-194.el5 # 1 SMP пн 29 марта 22:10:29 EDT 2010 x86_64 x86_64 x86_64 GNU/Linux
и вот кусок кода, который я написал:
i
f [ -s $WORKINGDIR/Report.zip ]
then
(echo "Hi,
Please find attached, report for datacentre.
Please let us know for further clarifications.
Thanks,
JordanForever ";uuencode $WORKINGDIR/Report.zip Report.zip;)| mailx -s "report for datacentre " $MAILLIST
else
(echo "script for datacentre failed.
Script Details:
Host: $HOSTNAME
Path: $WORKINGDIR
";) | mailx -s "Failed: report for datacentre " $FAILURE_MAILLIST
fi
Я пробовал команду mutt
и sendmail
, но это тоже не помогло.
Может один из вас, пожалуйста, помогите мне. Я не могу установить/удалить uuencode
. Любая альтернативная команда поможет.
С уважением
Я предполагаю, что вы проверили, что ваша реализация 'mailx' на AWS фактически не имеют для вкладывания (и, следовательно, кодировать) вложения? Ищите '-A' (или аналогичный вариант), но не каждый' mailx' имеет это. – Kusalananda
Доступен ли 'base64'? Если это так, он кодирует (и расшифровывает) данные Base-64. Он не идентичен 'uuencode' (он не будет содержать информацию о имени файла и разрешениях, и вы, вероятно, захотите указать' -b 72' или около того - '-w 72' для версии GNU - разумно сломать линии, и т.д). Это «современная» стандартная кодировка, избегая «uuencode» nasties, таких как конечные пробелы в строках вывода (которые прерывают «uudecode», если они удаляются). –