Не удалось обнаружить сбой команды печати на удаленном хосте

Используйте cutв символьном режиме:

cut -c1-15,21-

возможно, вам потребуется изменить точные номера символов. Опять же, это предполагает, что ввод не использует символы TAB(\t)в качестве разделителей (, что, вероятно, не так, поскольку тогда у вас не будет проблемы с объединенными полями в первую очередь ).

Если есть табуляции, то программа expandможет преобразовать их в пробелы.

0
15.03.2021, 03:11
1 ответ

Перехват кода выхода вправо

Во-первых, давайте решим проблему с тем, как вы обрабатываете код выхода:

ssh -p 3334 remuser@localhost "lp -d Brother_HL_L2350DW_series $HOMEDIR/Printed/$NEWFILE" >/home/system/send4print/printererror.log

SERVICE_EXIT_STATUS=$? # store the exit code

# mail if failed
if [ $SERVICE_EXIT_STATUS -ne 0 ];then
    mail -s "PRINTER SERVICE FAIL ALERT. PLEASE CHECK YOUR PRINTER!!" me@myshop.com << /home/system/send4print/mailbody.txt # email when there is an error...
    echo "$FILE is the culprit" >>/home/system/send4print/printererror.log # adding at end of file like in your original script the filename of the "culprit"
    echo "Send email that there is an issue printing invoice for the below file. Issue is: `cat /home/system/send4print/printererror.log`" # printing like your original script the log
else
    echo "Print successful. Deleting $FILE"
    #this is where you may delete the file i guess?
fi;

Использование untilпо запросу:

until ssh -p 3334 remuser@localhost "lp -d Brother_HL_L2350DW_series $HOMEDIR/Printed/$NEWFILE" >/home/system/send4print/printererror.log &> /dev/null

SERVICE_EXIT_STATUS=$? # store the exit code

do
# mail if failed
if [ $SERVICE_EXIT_STATUS -ne 0 ];then
    mail -s "PRINTER SERVICE FAIL ALERT. PLEASE CHECK YOUR PRINTER!!" me@myshop.com << /home/system/send4print/mailbody.txt # email when there is an error...
    echo "$FILE is the culprit" >>/home/system/send4print/printererror.log # adding at end of file like in your original script the filename of the "culprit"
    echo "Send email that there is an issue printing invoice for the below file. Issue is: `cat /home/system/send4print/printererror.log`" # printing like your original script the log
else
    echo "Print successful. Deleting $FILE"
    #this is where you may delete the file i guess?
fi;

done

Это должно сработать. Хотя у меня нет принтера на моем конце, я проверил, работает ли логика (насколько я знаю ).

Об ошибке вашего принтера

У меня нет ни принтера, ни марки вашего принтера, НО, просто поискав, я нашел пару сообщений с ошибкой, похожей на вашу, некоторые на Mac (, как вы упомянули, что были на ), и другой:

и т. д.

По сути, существует четыре возможных исправления/причины возникновения этой ошибки:

  • Версия Adobe (, которую вы можете использовать на своей стороне при печати, или, возможно, ваш принтер использует ее, поскольку это PDF )содержит ошибку или слишком устарела по какой-либо причине, возможно, ее обновление может работай?
  • Вы могли бы использовать настройку вашего принтера/или вашего Mac для печати вместо "изображения", хотя это будет работать, я не уверен, что вы этого хотите.
  • Вы можете использовать другую программу для печати, возможно, одну из множества реализаций с открытым исходным кодом, которые могут зависеть или не зависеть от Adobe API для печати вашего PDF-файла, и в этом случае она может работать (. ] у меня нет Mac, поэтому я считаю, что было бы лучше спросить об этом на ориентированном на яблоко SE ).
  • Это может быть что-то другое либо со стороны Apple, либо со стороны бренда вашего принтера.См. этот пост для примера того, что я имею в виду.
0
23.03.2021, 21:44

Теги

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