Я нахожусь в процессе создания локального FTP-сервера, и мне нужен этот скрипт для запуска при загрузке машины:

#!/bin/bash
while [ 1 ];
do
chmod 2777 /home/ftp/folder;
chmod -R 777 /home/ftp/folder;
sleep 60;
done

Какой лучший способ пойти по этому поводу?

Я попытался поместить его в файл rc.local, но это вообще не позволяет серверу загружаться должным образом, также этот сценарий нужно запускать как sudo, если это будет иметь значение для запуска сценария.

Любая помощь или идеи будут оценены, спасибо.

2 ответа2

1

как насчет использования cronjob?

положил

#!/bin/bash
chmod 2777 /home/ftp/folder
chmod -R 777 /home/ftp/folder

в файл сценария и вызывать его каждую минуту:

sudo crontab -e

и вызвать следующее:

* * * * * /path/to/script.sh

дополнительная информация - Ubuntu Wiki

0
  • Удалить цикл из вашего скрипта
  • Поместите скрипт в какой-нибудь разумный каталог (например, /usr/local/sbin/)
  • Поместите описание работы cron в /etc/cron.d/, например

* * * * * myuser /usr/local/sbin/myscript

Это заставит ваш скрипт запускаться каждую минуту. Затем, чтобы быть полностью в безопасности, вам нужно будет добавить какой-то способ, чтобы гарантировать, что только один экземпляр запущен (т.е. не запускаться, если другой экземпляр занимает больше минуты). Обычно это делается с помощью файлов блокировки.

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .