Почему крону тихо не удается выполнить материал sudo в моем сценарии?

Можно запустить как это:

for i in "$@"; do
  dst="${i%pdf}jpg"
  convert "$i" -resize 612x792 "$dst"
  convert "$i" -resize 255x330 "${i%.pdf}_thump.jpg"
done

И назовите его как

$ bash my_script.sh *.pdf

Для переименования Вас может использовать другой сценарий. Я не понимаю Ваш .csv-файл в качестве примера. Содержат 3 строки для 3 файлов? Хорошо, дело обстоит так.

Можно переименовать файл со следующей командной строкой:

$ awk -F, '{ system("echo mv \"" $1 "\" \"" $2 "\"")  }' myrename.csv

Awk выполняется echo ... команда для каждой строки, $1 значение первого поля строки и $2 значение 2-го поля. Заключение в кавычки \" необходим в случае, если имя файла содержит пробелы. -F, говорит awk использовать запятую в качестве разделителя полей.

При тестировании этой команды, можно удалить echo сделать реальное переименование файлов. Можно добавить -n кому: mv избегать случайных перезаписей существующих файлов.

30
03.10.2014, 18:56
1 ответ

Sudo имеет некоторые специальные опции в, он - файл полномочий, один из которых позволяет ограничение на, он - использование к оболочкам, которые являются, работают в TTY, который не крон.

Некоторым дистрибутивам включая Linux Amazon AMI включили это по умолчанию. /etc/sudoers файл будет выглядеть примерно так:

# Disable "ssh hostname sudo <cmd>", because it will show the password in clear.
#         You have to run "ssh -t hostname sudo <cmd>".
#
Defaults    requiretty

#
# Refuse to run if unable to disable echo on the tty. This setting should also be
# changed in order to be able to use sudo without a tty. See requiretty above.
#
Defaults   !visiblepw

При получении вывода к STDERR на уровне сценария оболочки, а не самой команды sudo Вы имели бы, кажутся сообщением что-то вроде этого:

извините, у Вас должен быть tty для выполнения sudo

Решение состоит в том, чтобы позволить sudo выполняться в не среды TTY или путем удаления или комментирования этих опций:

#Defaults    requiretty
#Defaults   !visiblepw
40
27.01.2020, 19:38

Теги

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