CRON in ubuntu server
sudo apt update
sudo apt install cron
sudo systemctl enable cron Для включения работы в фоне
Файлы хранятся тут
/var/spool/cron/crontabs/
sudo nano /etc/crontab
НО в них лучше не лезть
Управлять всем через
crontab -l Содержимое
crontab -e Редактирование
r удалить
Для определённого пользователя
sudo crontab -u www-data -e
sudo crontab -u www-data -l
Вывести крон всех
for user in $(cut -f1 -d: /etc/passwd); do crontab -l -u $user; done
Вывести просто всех
cut -d: -f1 /etc/passwd
* * * * * echo ‘Run this command every minute’ >> /root/file.log
* * * * * /usr/bin/php /var/www/domain.com/backup.php > /dev/null 2>&1
минута 0–59
час 0–23
День месяца 1–31
месяц 1–12 или ЯНВ–ДЕК
День недели 0–6 или ПНД–ВСК
Каждую минуту:
* * * * *
каждый час в 15 минут:
15 * * * *
Каждый день в 03:15 запускать скрипт:
15 3 * * * ~/script.sh
Каждый понедельник:
0 0 * * 1
Каждый четный час:
* */2 * * *
или
* 0,2,4,6,8,10,12,14,16,18,20,22 * * *
Каждые 10 минут:
*/10 * * * *
Новый год:
59 23 31 dec *
Каждый будний день в 22:00:
0 22 * * 1-5
Для get запросов
wget -O /root/tmp_wget.txt --no-check-certificate "https://site.ru?a=1" >/dev/null 2>&1
wget -O /var/www/site/logs/cron.txt --no-check-certificate --post-data="a=1" "https://site.ru" >/dev/null 2>&1
*/5 * * * * sh /root/create_backup.sh >/dev/null 2>&1
service cron status
service cron start
service cron stop
service cron restart
---
Пример через wget
*/5 * * * * wget -O /var/www/site.ru/cron/5minutes.txt --no-check-certificate "https://site.ru/cron?password123" > /dev/null 2>&1
17 */12 * * * /var/www/site/scripts/createBackups.sh > /dev/null 2>&1
* * * * * /var/www/site/mailing/cron.sh > /dev/null 2>&1
Если надо каждые 4 сек
micro cron.sh
chmod +x cron.sh
#!/bin/bash
# sudo crontab -u www-data -e
for i in {1..14}; do
wget -O /var/www/site/cron_log.txt --no-check-certificate "https://site/cron.php?pass"
sleep 4
done