Выполнение задания крона от другой оболочки

[1132254] Если бы Вы проверили [1132785]man curl[1132786] или [1132787]curl FAQ[1132788], Вы бы знали, что [1132789]curl[1132790] имеет параметр [1132791]--config[1132792]/[1132793]-K[1132794]: [12182]Укажите, из какого конфигурационного файла следует считывать аргументы скручивания. Конфигурационный файл это текстовый файл, в который можно записать аргументы командной строки которые затем будут использованы, как если бы они были написаны по фактической команде. Линия. ... ([1133141]man curl[1133142])[12183] Например, можно сохранить и расшифровать пароль с помощью [1132797]gpg[1132798]. Параметр расшифровки - [1132799]-d[1132800].[12184]Обновление: Полное решение пошаговое[12185]Изначально я не предоставил полного решения, так как это было бы [1132801]дать Вам рыбу[1132802], когда Вы [1132803]научились ловить рыбу самостоятельно[1132804] более ценным. [12186] Но так как вы, кажется, действительно не уверены в том, как действовать, вот [1132805] быстрый и грязный сценарий на Python 3.3 для управления тайной HTTP-пароль [1132806]. [12187] Просто скачайте этот скрипт (или клон репо с git), [1132807] chmod u+x ./curling-with-secrets.py[1132808], затем запустите его с [1132809]./curling-with-secrets --help[1132810], и вы увидите это:[12188] Скрипт создает файл, [1132811] секрет. enc[1132812], заданный переменной [1132813]secret file[1132814], в своем каталоге используя [1132815]openssl[1132816] для шифрования файла, используя в качестве ключевой фразы [1132817]sha512sum[1132818] соленый хэш пути файла. Это не обеспечивает высокий уровень безопасности, но для просмотра пароля потребуется немного усилий, в то время как сохранение его в открытом тексте делает просмотр пароля случайным с помощью [1132819]cat[1132820] или [1132821]quicklook[1132822] в OS X слишком простым. Ваш друг мог бы сделать это жестче, изменив механизм шифрования и функцию [1132823]token()[1132824], а затем сохранить файл в том месте, где у вашей учетной записи пользователя нет прав на чтение, но есть права на выполнение, которые принадлежат другому пользователю и группе, полагая, что у вас нет [1132825]sudoers[1132826] или [1132827]root[1132828] доступа к хосту. [12189] После создания секретного файла [1132829] [1132830], скрипт запускает [1132831] curl[1132832] с аутентификацией указанного пользователя и передает url в командной строке. Эти опции передаются в [1132833]STDIN[1132834] на [1132835]curl[1132836] с помощью опции [1132837]-K -[1132838] (которая считывает файл конфигурации из [1132839]STDIN[1132840]), отформатированный как [1132841]curl[1132842] конфигурационный файл. Вы можете легко расширить его в соответствии с вашими потребностями, следуя [1132843]man curl[1132844]. :)[12190]Я не очень люблю Python, так что, вероятно, в этом скрипте есть некоторые перегибы, но это может быть хорошей отправной точкой для вас. Вы определенно должны проверить его на прочность. [12191] Вот полный источник сценария:[12192]
1
27.04.2014, 23:56
2 ответа
[116126]Как насчет:

Это подскажет zsh запустить скрипт. Теперь вы хотите, чтобы он выполнялся в zsh, не важно что, просто добавьте shebang в начало:

4
27.01.2020, 23:13
[116130]Cron имеет несколько экологических переменных, сконфигурированных в [116524]/etc/crontab[116525], а именно [116526]SHELL[116527] и [116528]PATH[116529]. Значением по умолчанию для [116530]SHELL[116531] является [116532]/bin/sh[116533]. Поэтому, если это не будет изменено или иным образом не указано в скрипте, [116534]cron[116535] будет выполнять команды, используя [116536]sh[116537]. [116131]
3
27.01.2020, 23:13

Теги

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