Архив

Публикации с меткой ‘cron’
17 августа 2020 Нет комментариев

Удалять все файлы .sql.gz в папке старше 30 дней:

find /var/www/backup/ -type f -mtime +30 -name '*.sql.gz' -delete
Categories: Unix Tags:
14 августа 2020 Нет комментариев

В примере в скрипте запускается dbf.
Только при запуске через cron ошибка:

/usr/bin/env: ruby_executable_hooks: Нет такого файла или каталога

Узнать полный путь к исполняемому файлу:

which dbf

результат:

/usr/local/rvm/gems/ruby-2.4.2/bin/dbf

в пути изменить bin на wrappers т.е.:

/usr/local/rvm/gems/ruby-2.4.2/wrappers/dbf

и в скрипте указывать этот полный путь
Используются обертки — это скрипт, который загружает правильную среду и решает вашу проблему, обертки генерируются автоматически с помощью RVM.

Categories: Linux Tags: , ,
17 февраля 2020 Нет комментариев

Автоматический перезапуск mariadb если она не активна (Script for checking mariadb status and restarting if it is inactive).
Скрипт:

#!/bin/bash
STATUS=$(/bin/systemctl is-active mariadb.service);
if [ $STATUS != 'active' ]
then
	/bin/systemctl restart mariadb.service
fi

Cron (каждые 5 минут)

*/5 * * * * /var/scripts/check_mariadb.sh
Categories: Unix Tags: ,

Скрипт (спецсимволы в паролях экранировать):

#!/bin/bash
cd /var/www/backup/
#local
mysqldump --opt -udbuser -pdbpassword dbname | gzip -c -9 > site.ru.sql.gz
tar -czf site.ru.tar.gz ../site.ru
#gdrive
GDRIVE=/root/gdrive
for f in *.gz
do
    $GDRIVE list | grep $f | awk '{print $1}' | xargs -I {} sh -c "$GDRIVE delete {}"
    $GDRIVE upload $f
done

Более простой не универсальный вариант:

#!/bin/bash
#local
mysqldump --opt -udbuser -pdbpassword dbname | gzip -c -9 > /var/www/backup/site.ru.sql.gz
tar -czf /var/www/backup/site.ru.tar.gz /var/www/site.ru/
#gdrive
/root/gdrive list | grep site.ru.sql.gz | awk '{print $1}' | xargs -I {} sh -c '/root/gdrive delete {}'
/root/gdrive upload /var/www/backup/site.ru.sql.gz
/root/gdrive list | grep site.ru.tar.gz | awk '{print $1}' | xargs -I {} sh -c '/root/gdrive delete {}'
/root/gdrive upload /var/www/backup/site.ru.tar.gz

Информация о GDrive (установка и использование): https://github.com/prasmussen/gdrive

См. также: cron резервное копирование файлов и базы данных сайта с выгрузкой на удаленный ftp

Categories: Unix Tags: ,
11 сентября 2017 1 комментарий

Скрипт:
в пароле для mysql спецсимволы нужно экранировать, например \)

#!/bin/bash
tar -czf /var/www/backup/site.ru.tar.gz /var/www/site.ru/
mysqldump --opt -udbuser -pdbpassword dbname | gzip -c -9 > /var/www/backup/site.ru.sql.gz
lftp -c 'open -e "mput -O ftpdir/ /var/www/backup/*.gz " -u ftpuser,ftppassword ftpserver exit'

Задание cron (будет выполняться в 2:30 каждый день):

crontab -e
30 2 * * * /usr/bin/perl /var/www/backup/site.ru.sh >> /var/www/backup/site.ru.log 2>&1

https://www.frameworks.su/article/rezervnoe_kopirovanie_sayta_s_pomoshchyu_cron

См. также: Резервное копирование файлов и базы данных сайта с выгрузкой на Google Drive

Categories: Unix Tags: ,
19 декабря 2016 Нет комментариев

В примере для открытия URL каждый день в час ночи.

0 1 * * * wget -O - http://site.com/cron.php >/dev/null 2>&1

Еще варианты:
http://stackoverflow.com/questions/13259530/using-cron-jobs-to-visit-url

Categories: Unix, Web Tags:
7 января 2009 Нет комментариев

Для автоматического запуска скрипта при загрузке системы в файле rc.local добавить:

internet start

Для переподключения в случае разрыва соединения в /etc/crontab

* * * * * root ping -c 1 gmail.com >> /var/log/internet/ping.log ||
internet restart >> /var/log/internet/restart.log

Каждую минуту будет выполнятся проверка на активность соединения и в случае его отсутствия выполняться переподключение.

Пример приведен с учетом того что
internet start
internet stop
internet restart

комманды подключения/отключения/переподключения к Интернет.

Categories: Unix Tags: ,