script-ы для работы в Cpanel и WHM

script-ы для работы в Cpanel и WHM

В своей статье «script-ы для работы в Cpanel и WHM»  я хотел бы собрать и рассказать о скриптах WHM/Cpanel. Они помогают решать различные проблемы связанные с данной панелью.

Пути базовых модулей
PHP
/usr/bin/php

MySQL
/var/lib/mysql

Sendmail
/usr/bin/sendmail

ImageMagick
/usr/local/bin/convert or /usr/bin/convert

Tomcat
/usr/local/jakarta/tomcat

Perl
/usr/bin/perl

Ruby
/usr/lib/ruby/

Ruby Gems
/usr/lib/ruby/gems

FFMPEG
/usr/bin/ffmpeg

Mplayer
/usr/bin/mplayer

LAME
/usr/local/bin/lame

FLV Tool
/usr/local/bin/flvtool2

Каталоги пользователей
Document Root
/home/username

Путь где лежат сайты пользователей
/home/username/public_html

Путь директории где лежат скрипты CGI
/home/username/public_html/cgi-bin

Cpanel / WHM Core каталогов и файлов
/usr/local/cpanel/bin
Дома только скриптов и исполняемых файлов, которые обеспечивают установку и настройку многих услуг CPanel.

/var/cpanel
Дома собственных данных конфигурации для Cpanel, в том числе:

  • Первичная конфигурация CPanel
  • Пользовательских конфигураций
  • Конфигураций ресселеров
  • Аккаунты, преобразования и обновления логов
  • Пропускная способность данных (Bandwidth)
  • Индивидуальные шаблоны служб

/var/cpanel/cpanel.config
Основной конфигурационный файл CPanel. Если этот файл не существует в CPanel, то он используется по умолчанию.

/var/cpanel/resellers
Списки ресурсов которые разделены запятыми, которые назначаются для WHM ресселеров.

/var/cpanel/accounting.log
Содержит список функций для аккаунтов, выполняемых через WHM, включая удаление учетной записей и создания новых.

/var/cpanel/bandwidth
Файлы содержат список истории пропускной полосы для каждой учетной записи, каждый названный в честь своего соответствующего пользователя. История файлов хранится в формате удобочитаемый, в то время как фактические данные пропускной способности хранятся в robin базах данных.

/var/cpanel/features
Имя файла наследуется от имени списка особенностей. Содержит строки с разделителями переменных с нулевым или заданным значением. Переменные контролируют ресурсы для пользователей в Cpanel.

/var/cpanel/packages
Содержит список пакетов, названных в честь пакетов, которые они представляют. Если пакет принадлежит реселлерам, то имя файла назначается с префиксом реселлера. Каждое из этих значений определяет стоимость, созданную в CPanel.

/var/cpanel/users
Содержит список конфигурационных файлов CPanel для пользователей. Переменные определяют счета ресурсов, тем, доменов и т.д.

Другие директории /var/cpanel
LOGS
Этот каталог содержит логи со счетами копий/трансфертов.

UPDATELOGS
Содержит выход каждого обновления CPANEL которое выполняется на сервере.

MAINIPS
Названный в честь соответствующих реселлеров пользователей, которые они представляют, каждый из которых содержит только IP-адрес, который должен быть использован в качестве ресселера в основных IP.

ZONETEMPLATES
Содержит пользовательские шаблоны зон DNS созданные в WHM.

/scripts
Этом каталоге находится большое количество скриптов, которые служат для использования в Cpanel / WHM. Эти скрипты могут быть использованы для:

  • Для обновления Cpanel и многих из ее услуг
  • Для настройки, создание аккаунтов
  • Для выполнения резервного копирования  аккаунтов в CPanel
  • Для установки и обновления управляемых услуг в cPanel

Скрипты для обслуживания cPanel
По умолчанию все обновления применяется в CPanel в 2:13 утра с помощью корневого кронтаба.
/scripts/upcp отправляет эти обновления, используя следующие ключевые компоненты:

Примеры использования.

# /scripts/upcp

или

# /scripts/upcp --force

/scripts/updatenow – синхронизирует каталоги/ крипты
/scripts/sysup – обновления rpm пакетов в CPanel
Пример:

# /scripts/sysup

/scripts/rpmup –  обновляет все другие системные обновления
Пример:

# /scripts/rpmup

или

# /scripts/rpmup --force

Обновления записываются в файлы которые лежат в /var/cpanel/updatelogs. Конфигурация обновление хранится в/etc/cpupdate.conf

Скрипты для управления учетными записями
/scripts/wwwacct — создание учетной записи, пользовательского аккаунта
Пример:

# /scripts/wwwacct linux-notes.org user_name password_for_username 50 advanced n

/scripts/killacct — удалить аккаунт
Пример:

# /scripts/killacct cpanel_user

или удалить принудительно

# /scripts/killacct cpanel_user_name --force

еще примеры:

# /scripts/killacct --user=user_name --force 
# /scripts/killacct --user=user_name --killdns

/scripts/pkgacct
Создание бекапа всех файлов, почты и так далее для указанного уккаунта в cPanel

# /scripts/pkgacct user_name

Пример:

# /scripts/pkgacct linuxnotes

/scripts/restorepkg
Restores a package. For more information, read our Restore Package Script documentation.

Примеры:

# /scripts/restorepkg --force backUP_name

или

# /scripts/restorepkg --force -- makempi0 backup.tar.gz

или

# /scripts/restorepkg --newuser new_user_name backup.tar.gz

/scripts/cpbackup
Создать  бекапы для всех аккаунтов которые имеются в cPanel.

/scripts/suspendacct — заморозить учетную запись (suspend)
Пример:

# /scripts/suspendacct cpanel_user

или удалить принудительно

# /scripts/suspendacct cpanel_user_name --force

/scripts/unsuspendacct — возобновление учетной записи
Пример:

# /scripts/unsuspendacct cpanel_user

или удалить принудительно

# /scripts/unsuspendacct cpanel_user_name --force

/scripts/removeacct
Удалить cPanel аккаунт.
Пример:

# /scripts/removeacct linuxnotes

/scripts/addpop
Создание аккаунта pop.

/scripts/delpop
Удаление аккаунта pop.

/scripts/updateuserdomains
Пример:

# /scripts/updateuserdomains

Обновление пользователя: владелец и пользователь: домен таблицы хранятся в:

  • /etc/userdomains
  • /etc/trueuserdomains
  • /etc/trueuserowners

Эти таблицы используются для перечисления и отслеживания счетов и их владельцев.

Управление пакетами
/scripts/ensurerpm
Обновление указаных пакетов.
Пример:

# /scripts/ensurerpm gmp gmp-devel bzip2-devel

/scripts/ensurepkg
Аналог ensurerpm для FreeBSD. Обновления указаных пакетов от портов.

/scripts/realperlinstaller
Возьмет аргументы Perl модулей для установки с помощью CPAN. Каждый из вышеупомянутых сценариев может принять аргумент «—force» в принудительных установках.
Примеры:

# /scripts/realperlinstaller --force Getopt::Long
# /scripts/realperlinstaller --force DBI
# /scripts/realperlinstaller --force DBD::mysql
# /scripts/realperlinstaller --force Term::ReadKey

Данный скрипт установит указанные пакеты перл.

/scripts/rebuildnamedconf
Перестроит named.conf на основе существующих файлов зон
Пример:

# /scripts/rebuildnamedconf

MYSQL

/scripts/mysqlup
Данный скрипт выполняет обновления для MySQL, аналог upcp
Пример:

# /scripts/mysqlup --force

/scripts/cleanupmysqlprivs
Будет убирать таблицы с привилегиями по умолчанию для MySQL , установив более строгие схемы привилегий.
Пример:

# /scripts/cleanupmysqlprivs

/scripts/mysqlconnectioncheck
Попытки подключения к MySQL, SQL перезагружается, если это необходимо. Будет проверять доступен ли MySQL с паролем сохраненным в /root/.my.cnf и будет вызывать сброс случайной строки с 16 символов, если недоступен.
Пример:

# /scripts/mysqlconnectioncheck

/scripts/mysqldeluserdb
Удалить базу данных и пользователя MySQL.

/scripts/mysql
Перезапуск сервера баз данных MySQL.
Пример:

# /scripts/mysql

POSTGRESQL

/scripts/installpostgres
Установка PostgreSQL.
Пример:

# /scripts/installpostgres

/scripts/postgres или postgresql
Перезапуск сервиса баз данных PostgreSQL.
Пример:

#/scripts/postgres

или

#/scripts/postgresql

EXIM

/scripts/eximup
Данный скрипт выполняет обновления для exim и аналогичен ему upcp.
Привет:

# /scripts/eximup

/scripts/buildeximconf
Будет восстанавливать (ребилдить) exim.conf, и объединит локальные конфигурации Cpanel.
Пример:

# /scripts/buildeximconf

/scripts/exim
Перезапуск Exim.
Пример:

# /scripts/exim

/scripts/eximstats
Перезапуск статистики почты трекера Exim.
Пример:

# /scripts/eximstats

/scripts/slurp_exim_mainlog
Импорт Exim лога mainlog в базу данных eximstats.

/scripts/eximup
Обновить сервер почты Exim.
Пример:

# /scripts/eximup

COURIER

/scripts/courier
Перезапуск сервера почты Courier.
Пример:

# /scripts/courier

/scripts/imap
Перезапуск IMAP сервера (Courier или Dovecot).
Пример:

# /scripts/imap

/scripts/courierup
Обновить емейл сервер Courier.
Пример:

# /scripts/courierup

/scripts/imapup
Обновить сервер почты IMAP.
Пример:

# /scripts/imapup

DOVECOT

/scripts/dovecot_auto_expunge_trash
Этот сценарий запускается ночью и удаляет сообщения из папок trash, которые старше, чем указан параметр в trash  в интерфейсе конфигурации Mailserver Configuration interface (Home >> Service Configuration >> Mailserver Configuration).
Для активации скрипта, выберите флажок (чекбокс) Auto Expunge Trash.

/scripts/dovecot
Перезапуск dovecot.
Пример:

# /scripts/dovecot

/scripts/imap
Перезапуск IMAP сервера (Courier или Dovecot).
Пример:

# /scripts/imap

/scripts/dovecotup
Обновить сервер почты Dovecot.
Пример:

# /scripts/dovecotup

/scripts/imapup
Обновить сервер почты IMAP.
Пример:

# /scripts/imapup

HORDE

/scripts/fullhordereset
Обновления horde и сбросит пароль пользователя horde в MySQL.
Пример:

# /scripts/fullhordereset

ROUNDCUBE

/scripts/convert_roundcube_mysql2sqlite
Преобразует базу данных Roundcube c MySQL® к SQLite.
Внимание:
Вы возможно захотите сконвертировать отдельные аккаунты, даже после преобразования данных. Чтобы преобразовать отдельные аккаунты в Cpanel, которые используют Roundcube в SQLite, добавить имя пользователя в качестве параметра:

# /usr/local/cpanel/scripts/convert_roundcube_mysql2sqlite user

CLAMAV

/scripts/clamd
Перезапуск антивируса ClamAV.
Пример:

# /scripts/clamd

DNS

/scripts/chkmydns
Выполняет простую проверку конфигурации MyDNS.
Пример:

# /scripts/chkmydns

Добавляем DNS:

# /scripts//adddns --domain linux-notes.org

Или

# /scripts//adddns --domain linux-notes.org --ip 199.116.253.185

Удаляем DNS:

# /scripts/killdns --domain linux-notes.org

или

# /scripts/killdns --domain linux-notes.org --ip 199.116.253.185

/scripts/exportmydnsdb
Экспорт зон с MyDNS для использования с BIND и NSD.
Пример:

# /scripts/exportmydnsdb

или

# /scripts/exportmydnsdb --without-change-serial

/scripts/importmydnsdb
Импорт зон с MyDNS для использования с BIND и NSD.
Пример:

# /scripts/importmydnsdb

/scripts/bind
Перезапустить BIND.
Пример:

# /scripts/bind

/scripts/dnsadmin
Перезапукс демона dnsadmin.
Пример:

# /scripts/dnsadmin

/scripts/named
Перезапуск nameserver BIND.
Пример:

# /scripts/named

/scripts/mydns
Перезапуск ФТП сервер MyDNS.
Пример:

# /scripts/mydns

/scripts/mydnsup
Установить и обновить пакеты MyDNS.
Пример:

# /scripts/mydnsup

/scripts/nsdup
Обновить сервер имен BIND.
Пример:

# /scripts/nsdup

Синхранизация DNS зон
/scripts/dnscluster synczone domain_name
Пример:

# /scripts/dnscluster synczone doitrightfromhome.com

APACHE (HTTP), tomcat

/scripts/tomcat
Перезапуск веб-сервера Apache Tomcat.

/scripts/easyapache
Скачивает, распаковает и выполняет скрипты для сборки apache (или переустановки)
Пример:

# /scripts/easyapache

/scripts/rebuildhttpdconf
Перестраивает httpd.conf на основе записей DNS который найдет в каждой конфигурации пользователя Cpanel
Пример:

# /scripts/rebuildhttpdconf

/scripts/httpd
Перезапуск веб-сервера Apache.
Пример:

# /scripts/httpd

/scripts/apache
Перезапуск веб-сервера Apache.

PHP

/scripts/phpup
Обновление текущей версии PHP.
Пример:

# /scripts/phpup

/scripts/suphpup
Обновление инструмента suPHP для обработки  PHP запросов.
Пример:

# /scripts/suphpup

/scripts/update_php_timezonedb
Обновление базы данных часового пояса, который использует PHP.
Пример:

# /scripts/update_php_timezonedb

/scripts/phpextensionmgr
Управление расширениями PHP.

RUBY

/scripts/installruby
Установка Ruby.
Пример:

# /scripts/installruby

FTP

/scripts/ftpd или ftpserver
Перезапуск  сконфигурированного FTP сервиса (ProFTPd или Pure-FTPd).
Пример:

# /scripts/ftpd

или

# /scripts/ftpserver

/scripts/proftpd
Перезапуск демона сервера ФТП ProFTPd.
Пример:

# /scripts/proftpd

/scripts/pureftpd
Перезапуск сервера Pure-FTPd.
Пример:

# /scripts/pureftpd

/scripts/setupftpserver
Позволяет переключаться между FTP-серверами.
Пример:

# /scripts/setupftpserver

/scripts/ftpup
Обновить серверы FTP (ProFTPd и Pure-FTPd).
Пример:

# /scripts/ftpup

WebDAV

/scripts/cpdavd
Перезапуск WebDAV сервера в Cpanel.
Пример:

# /scripts/cpdavd

Другие скрипты cPanel
/scripts/restartsrv_ service_name
Большинство управляемых в CPanel  услуг можно перезапустить  службы по названию скриптов соответствующим образом.
Например, перезапустим апач:

# /scripts/restartsrv httpd

/scripts/makecpphp
Будет восстанавливать РНР используя внутри cpsrvd.

/usr/local/cpanel/bin/checkperlmodules
Будет сканировать и устанавливать какие-либо модули Perl которые необходимы CPanel.

/scripts/fixquotas
Будет пытаться восстановить базы данных квот основываясь на информации хранящейся в /etc/quota.conf
Пример:

# /scripts/fixquotas

/usr/local/cpanel/scripts/check_cpanel_rpms
Исправляет ошибки в rpm пакетах
Пример:

# /usr/local/cpanel/scripts/check_cpanel_rpms --fix

/scripts/build_maxemails_config
Устанавливает ограничения на количество электронной почты, которые пользователи могут посылать с доменов на сервере.

# /scripts/build_maxemails_config

/scripts/check_users_my_cnf
Проверьте учетные записи для ~ / .my.cnf файлов, которые не работают, и отключить их. Этот сценарий возвращает только выходную информацию, когда он обнаруживает плохой файл .my.cnf.
Для более подробной информации, выполните:

# /usr/local/cpanel/scripts/check_users_my_cnf --help

/scripts/comparecdb
Сравнение содержимого двух файлов CDB. Укажите два CDB файла которые вы хотите сравнивать после названия скрипта.
Примечание:
Для примера запустим слудующую команду где $file1 и $file2  два файла, которые вы хотите сравнить:

# /usr/local/cpanel/scripts/comparecdb $file1 $file2

/scripts/configure_rh_ipv6_firewall_for_cpanel
Управляет IPv6 для брандмауэра. Любой пользователь с привилегиями суперпользователя может запустить этот скрипт. Запустите этот скрипт, если любое из следующих утверждений верны:

  • Вы не должны управлять своими правилам IPv6 для брандмауэра с любыми другими инструментами или утилитами.
  • Вы не можете подключиться к IPv6-адресам или IPv6 с поддержкой веб-сайты на порту 80.

Этот сценарий выполняет следующие действия:

  • Открывает порт 22 для SSH.
  • Открывает порт 53 для DNS.
  • Открывает порт 80 для HTTP.

Примечание:
Правила, которые создает этот сценарий являются постоянными, и они остаются активными даже если вы перезагрузите сервер.

/scripts/dumpcdb
Отображает содержимое файла CDB. Укажите файл CDB который вы хотите просмотреть.
Примечание:
Например, выполните следующую команду, где $file представляет файл, который вы хотите просмотреть:

# /usr/local/cpanel/scripts/dumpcdb $file

/scripts/fixmailinglistperms
Ремонт  прав для всех списков почты и директорий.

/scripts/gather-update-logs
Посылает обновления log-ов в Cpanel для их анализа.

/scripts/hook
Executes any hooks that the system would normally call in the specified context.

/scripts/is_script_stuck
Проверка как долго работают скрипты и как долго запущен PID и разрешить тебе выбрать  процесс для его «убийства » (kill).

/scripts/maintenance
Performs system updates, and terminates the processes that you specify in the Background Process Killer interface (Home >> System Health >> Background Process Killer).
Note:
This script runs as a part of the /scripts/upcp script.

/scripts/modsec_vendor
Списки, аддоны, удаления или обновления от ModSecurity™.

/scripts/purge_modsec_log
Удаляет устаревшие записи из базы данных modsec.

/scripts/realperlinstaller
«Оберточный скрипт», который автоматизирует установку модулей CPAN.

/scripts/chkservd
Перезапуск  службы обработкилогов- TailWatch  в CPanel.

/scripts/cpanellogd
Перезапуск демона cpanellogd.

/scripts/cphulkd
Перезапуск cPHulk.

/scripts/cpsrvd
Перезапуск демона cpsrvd.

/scripts/crond
Перезапуск демона crond.

/scripts/entropychat
Перезапуск чат клиента Entropy.

/scripts/inetd
Перезапуск  super-server демона который управляет интернет-услугами (сервисами).

/scripts/ipaliases
Перезапуск алиасов IP.

/scripts/mailman
Перезапуск Mailman.

/scripts/nsd
Перезапуск демона Open-source NSD nameserver.

/scripts/queueprocd
Перезапуск демона queueprocd.

/scripts/rsyslogd
Перезапуск демона open-source log forwarder.

/scripts/spamd
Перезапуск демонаApache SpamAssassin™.

/scripts/sshd
Перезапуск демона Secure shell.

/scripts/syslogd
Перезапуск демона Log forwarder.

Тема «script-ы для работы в Cpanel и WHM» завершена, но я буду добавлять различные скрипты и рассказывать что и как работает, а на этом все 🙂

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *

Этот сайт использует Akismet для борьбы со спамом. Узнайте, как обрабатываются ваши данные комментариев.