7 заметок с тегом

Debian

cron

22 сентября 2016, 11:03

cron — демон (планировщик задач в UNIX-подобных операционных системах).


Используется для выполнения заданий в определенное время, или через определенные промежутки времени.

Регулярные действия описываются инструкциями, помещенными в файлы crontab и в специальные директории.

Для редактирования заданий используется утилита crontab.


Место хранения файлов:

/var/spool/cron/<user or crontab>



Добавление файла расписания:

crontab имя_файла_расписания



Вывести содержимое текущего файла расписания:

crontab -l



Удаление текущего файла расписания:

crontab -r



Для редактирования файла crontab вашего пользователя используется команда[2]:

crontab -e



Этот ключ позволяет выполнять вышеописанные действия для конкретного пользователя:

crontab -u username



Внимание: -u можно воспользоваться только запуская crontab от лица суперпользователя.


Таблица crontab состоит из 6 колонок, разделяемых пробелами или табуляторами. Первые пять колонок задают время выполнения (Минута, Час, День, Месяц, День недели), в них может находиться число, список чисел, разделённых запятыми, диапазон чисел, разделённых дефисом, символы '*' или '/'.

* * * * * выполняемая команда
- - - - -
| | | | |
| | | | ----- День недели (0 - 7) (Воскресенье =0 или =7)
| | | ------- Месяц (1 - 12)
| | --------- День (1 - 31)
| ----------- Час (0 - 23)
------------- Минута (0 - 59)



Пример файла:

# как обычно, с символа '#' начинаются комментарии
 # в качестве командного интерпретатора использовать /bin/sh
 SHELL=/bin/sh
 # результаты работы отправлять по этому адресу
 [email protected]
 # добавить в PATH домашний каталог пользователя
 PATH=/bin:/usr/bin:/home/paul/bin
 
 #### Здесь начинаются задания
 # выполнять каждый день в 0 часов 5 минут, результат складывать в log/daily
 5 0 * * * $HOME/bin/daily.job >> $HOME/log/daily 2>&1
 # выполнять 1 числа каждого месяца в 14 часов 15 минут
 15 14 1 * * $HOME/bin/monthly
 # каждый рабочий день в 22:00
 0 22 * * 1-5 echo "Пора домой" | mail -s "Уже 22:00" john
 
 23 */2 * * * echo "Выполняется в 0:23, 2:23, 4:23 и т. д."
 5 4 * * sun echo "Выполняется в 4:05 в воскресенье"
 0 0 1 1 * echo "С новым годом!"
 15 10,13 * * 1,4 echo "Эта надпись выводится в понедельник и четверг в 10:15 и 13:15"
 0-59 * * * * echo "Выполняется ежеминутно"
 0-59/2 * * * * echo "Выполняется по четным минутам"
 1-59/2 * * * * echo "Выполняется по нечетным минутам"
 # каждые 5 минут
 */5 * * * * echo "Прошло пять минут"
 # каждое первое воскресенье каждого месяца. -eq 7 это код дня недели, т.е. 1 -> понедельник , 2 -> вторник и т.д.
 0 1 1-7 * * [ "$(date '+\%u')" -eq 7 ] && echo "Эта надпись выводится каждое первое воскресенье каждого месяца в 1:00"

 #Запуск по ссылке каждый день
 @daily wget -q --spider http://artana.ru >/dev/null 2>&1

 #Запуск по ссылке каждые 2 минуты
 */02 * * * * wget -q --spider http://artana.ru >/dev/null 2>&1
 
 #Запуск по ссылке в 7 утра и 10 минут
 10 7 * * * curl -s http://artana.ru >/dev/null 2>&1


CentOS   cron   Debian   Linux   Ubuntu

XRDP для сервера Debian

30 мая 2016, 14:33

Установка графической оболочки и XRDP

Обновляем список доступных пакетов:

apt-get update && apt-get upgrade

Устанавливаем графическое окружение и xRDP:

apt-get -y install gnome-desktop-environment
apt-get -y install xrdp nano

Редактируем файл запуска xRDP. Наща цель — настроить автоматическую загрузку графической оболочки при запуске VPS. Воспользуемся любым редактором, например, nano:

nano /etc/xrdp/startwm.sh
Добавляем в файл startwm.sh следующие строки:

#!/bin/sh
if [ -r /etc/default/locale ]; then
. /etc/default/locale
export LANG LANGUAGE
fi
. /etc/X11/Xsession
gnome-session

В обязательном порядке добавьте в конце пустую строку. Сохраните результаты при помощи нажатия клавиш Ctrl+O и выйдите из меню редактора — Ctrl+X.

Делаем перезапуск xRDP и сервера

service xrdp restart
reboot
Debian   Gnome   XRDP

Глобальная установка composer на Debian

6 мая 2016, 15:13

Устанавливаем composer глобально, так чтоб в любом месте к нему можно было обратиться:

composer install
composer update


Composer — менеджер зависимостей для PHP, построенный на базе symfony2.
Оф сайт проекта: getcomposer.org
Сначала как он работает:


  • У вас есть проект, который зависит от нескольких библиотек.
  • Некоторые из этих библиотек зависят от других библиотек.
  • Вы описываете в своём проекте те библиотеки, от которых непосредственно зависит ваш код.
  • Composer находит нужные версии требуемых библиотек для всего проекта, скачивает их и устанавливает в папку вашего проекта.

Его аналоги в других языках это:


  • npm для Node.js
  • Bundler для Ruby


Статья на habrahabr


Установка composer под правами суперпользователя в директории /usr/local/bin

sudo su
cd /usr/local/bin


Скачиваем composer

curl -sS https://getcomposer.org/installer | php


Меняем права, чтоб запускать

chmod 0755 composer.phar


Создаем короткий симлинк

ln -s composer.phar composer


Добавим composer в расписание на авто-обновление

crontab -e

в редакторе добавим строку
5 1 * * 1 /usr/local/bin/composer.phar self-update > /dev/null 2>&1
то есть авто-обновление будет каждый понедельник


Готово

Обновление NGINX до последней версии Debian

6 мая 2016, 14:51

Обновляем NGINX до последней версии на сервере с Debian.
Всё просто, но есть нюансы.
Итак, приступим.


Скачать и установить сертификат

wget http://nginx.org/keys/nginx_signing.key
sudo apt-key add nginx_signing.key


Открываем репозиторий

sudo nano /etc/apt/sources.list


Дописать, если нет, следующие строки
Проверьте пакеты для вашей системы на оф сайте: nginx.org/ru/linux_packages.html

deb http://nginx.org/packages/debian/ wheezy nginx
deb-src http://nginx.org/packages/debian/ wheezy nginx


Сохраняем и обновляем

sudo apt-get update
sudo apt-get dist-upgrade


И если у нас уже установлен Nginx получаем ошибку

При обработке следующих пакетов произошли ошибки:
/var/cache/apt/archives/nginx_1.10.0-1~wheezy_amd64.deb
E: Sub-process /usr/bin/dpkg returned an error code (1)


Перед обновлением, сначала нужно удалить старую версию nginx.

Комментируем строки в репозитории

sudo nano /etc/apt/sources.list

# deb http://nginx.org/packages/debian/ wheezy nginx
# deb-src http://nginx.org/packages/debian/ wheezy nginx


Сохраняем и обновляем

sudo apt-get update


Проверяем, что установлено в системе nginx

dpkg-query -W --showformat='${Package}\n' | grep nginx

Результат примерно следующий:
nginx
nginx-common
nginx-full


Удаляем

sudo apt-get remove nginx nginx-common nginx-full


Теперь снова идем /etc/apt/sources.list и уберем # где мы закомментировали, сохраняем и обновляем.

sudo apt-get update
sudo apt-get install nginx


Вот и всё.

Администрирование веб-сервера с помощью Ajenti

5 мая 2016, 17:31

Ajenti — это среда, в которой выполняют все административные задачи на сервере, с помощью веб-интерфейса. Официальный сайт: ajenti.org.

Установка на сервер Debian.

Требования:

  • Debian 6 и выше версия
  • Установлен Python 2.6
Быстрая авто-установка
wget -O- https://raw.github.com/ajenti/ajenti/1.x/scripts/install-debian.sh | sh

Ручная установка

Добавление ключа для репозитория:
wget http://repo.ajenti.org/debian/key -O- | apt-key add -

Добавление записи в репозиторий /etc/apt/sources.list:
echo "deb http://repo.ajenti.org/debian main main debian" >> /etc/apt/sources.list

Установка:
apt-get update && apt-get install ajenti

Запуск:
service ajenti restart

После запуска нужно отредактировать config.
Панель будет доступна по протоколу HTTPS и порту 8000.
По-умолчанию username= root, password= admin.


Другие аналоги:


  • Ispconfig, оф. сайт: ispconfig.org
  • Vestacp, оф. сайт: vestacp.com
  • Webmin, оф. сайт: webmin.com
  • Zpanel, оф. сайт: zpanelcp.com
Ctrl + ↓ Ранее