Я использую Make для получения некоторых данных из базы данных MySQL, заполнения отчета и отправки по электронной почте с помощью cron. При обработке файла groff я столкнулся с проблемой разрешений.GNU Make: разрешения на создание файлов
Внести:
get: $(DATA)
$(DATA):
bash $(GET) $(SQL) > [email protected]
format: $(CONTENT)
$(CONTENT): $(DATA)
bash $(FORMAT) $(DATA) > [email protected]
$(TROFF): $(CONTENT)
cat $(TEMPLATE) $< > [email protected]
chmod a+rw [email protected]
$(PS): $(TROFF)
$(SED) -i '$$ a .TE' $<
$(TROFF) -ms -t -Tps $< > [email protected]
chmod a+rw [email protected]
report: $(REPORT)
$(REPORT): $(PS)
$(PS2PDF) $< >[email protected]
chmod a+rw [email protected]
Как вы можете видеть, я экспериментировал с разрешениями в пределах Makefile. Вот ошибки, которые я получаю при запуске сделать:
/home/automation/scripts/nancy_list/reports/2015-08-11.roff -ms -t -Tps /home/automation/scripts/nancy_list/reports/2015-08-11.roff > /home/auto /bin/sh: 1: /home/automation/scripts/nancy_list/reports/2015-08-11.roff: Permission denied make: *** [/home/automation/scripts/nancy_list/reports/2015-08-11.ps] Error 126
Так успешно генерирует ROFF, но не может его обработать - приписка приходит как пустой файл. Я сделал аналогичные проекты с Make before - есть ли что-то новое в отношении разрешений?
Я всерьез не могу поверить, что не понял этого. Мне нужно порвать. Спасибо, что поймали это! У меня был исполняемый набор $ (GROFF), а файл - $ (TROFF). Мне нужно переоценить мои соглашения об именах. – Bubnoff