Правильный синтаксис для запуска скрипта через cron

0

Мне нужно проверить, что я делаю это правильно.

Создали два сценария, чтобы закрыть и открыть веб-сайт

close.sh

mv /path/public_html/.htaccess  /path/public_html/.htaccess.bak
mv /path/public_html/.htaccess.temp  /path/public_html/.htaccess

open.sh

mv /path/public_html/.htaccess  /path/public_html/.htaccess.temp
mv /path/public_html/.htaccess.bak  /path/public_html/.htaccess

Это позволит файл.htaccess.temp, а затем вскоре после его отключения.

Затем я запустил crontab -e и настроил

0 11 11 11 * /bin/sh /root/close.sh
02 11 11 11 * /bin/sh /root/open.sh

Я исправляюсь в своих кронабсах? Я видел несколько записей, в которых есть /bin/sh, а некоторые нет, поэтому не было уверенности.

Я уверен в своих двух сценариях, мне просто нужно обеспечить, чтобы они выполнялись в течение 2 минут в 11:00 11 ноября каждого года.

Большое спасибо.

Теги:
.htaccess
cron

2 ответа

0

Вы можете проверить свой путь в двоичном файле "sh" с помощью команды:

which sh

Если возвращаемый путь - "/bin/sh", вы можете оставить этот путь в своем crontab.

  • 0
    Благодарю. путь правильный, это был скорее случай того, нужно ли его включать или нет. Я оставлю это в.
0

Вы правы, даже если 0 является необязательным в левой части минут:

0 11 11 11 * /bin/sh /root/close.sh
2 11 11 11 * /bin/sh /root/open.sh

Из Википедии:

 # * * * * *  command to execute
 # │ │ │ │ │
 # │ │ │ │ │
 # │ │ │ │ └───── day of week (0 - 6) (0 to 6 are Sunday to Saturday, or use names; 7 is Sunday, the same as 0)
 # │ │ │ └────────── month (1 - 12)
 # │ │ └─────────────── day of month (1 - 31)
 # │ └──────────────────── hour (0 - 23)
 # └───────────────────────── min (0 - 59)

Постарайтесь установить правильные разрешения для вашего.htaccess:

mv /path/public_html/.htaccess  /path/public_html/.htaccess.temp
mv /path/public_html/.htaccess.bak  /path/public_html/.htaccess
chown www-data:www-data /path/public_html/.htaccess
  • 0
    Спасибо - я не знаком с www-data: www-data - с чем это связано?
  • 0
    www-data - это пользователь, который может получить доступ к вашему каталогу public_html . Если вы поместите crontab в качестве пользователя root и поместите файлы в public_html , www-data не сможет получить к ним доступ. Мы используем www-data:www-data потому что пользователь www-data относится к группе www-data . Больше информации

Ещё вопросы

Сообщество Overcoder
Наверх
Меню