Nacházíte se zde: Úvod Podpora Nápověda Webserver, FTP, subdomény SSH Shell
Omezený SSH shell
Zkušení uživatelé se znalostí linuxového shellu mohou při práci s jednotlivými webhostingy využít omezený SSH shell. Cílem této služby není nabídnout plnohodnotný root shell (ten u managed služeb ani nemůže být k dispozici), ale zjednodušit nebo umožnit některé komplikovanější diskové operace přímo na serveru (např. rozbalení archivu, hromadná změna oprávnění, kopírování či přesuny souborů, vyhledávání v souborech, export databáze apod.).
Tato služba není k dispozici na starších serverech - tzn. na serverech sdíleného hostingu s PHP 5.3 a starším, a na starých virtuálních a dedikovaných managed serverech.
Připojení a fungování
Shell funguje pro každého systémového uživatele (tj. doménu) samostatně, jeho využívání je omezeno na prostor dané domény. Připojení probíhá stejnými údaji jako pro SFTP/SCP/rsync přes SSH. I zde je možné využít SSH klíče a při připojení tak není nutné vždy zadávat heslo.
Jako shell se používá BASH spuštěný v normálním režimu, je tedy umožněno přesměrování vstupu a výstupu ze/do souboru či předávání dat mezi příkazy pomocí roury. Kromě interních příkazů shellu (seznam a popis zde) jsou k dispozici příkazy uvedené níže.
Standardní příkazy shellu
Dostupné příkazy jsou převzaty ve verzích dostupných v aktuální stabilní verzi linuxové distribuce Debian. Jejich manuálové stránky součástí shellu nejsou, ale můžete je nalézt na Internetu, například na root.cz.
Práce se soubory
ls, cp, mv, rm, mkdir, rmdir, cat, less, touch, find, chmod, du
Práce s textem
echo, grep, egrep, fgrep, rgrep, head, tail, sort
Programy pro práci s komprimovanými archivy
tar, gzip, bzip2, bunzip2, xz, unxz, zcat, bzcat, xzcat, zip, unzip, zstd
Nástroje pro vývojáře
diff, git, patch, composer
Textové editory
nano
Programy pro práci se vzdálenými zdroji
ssh, scp, rsync, wget
Nástroje pro shellové skripty a ostatní
date, basename, realpath, pwd, sleep, id
Shellové skripty lze spouštět příkazem bash skript.sh
Nestandardní příkazy
Následující příkazy jsou buď specifické pro náš omezený shell, nebo fungují jinak, než jejich standardní varianty.
Na serverech se staršími řadami PHP nemusejí některé příkazy kvůli zastaralému software fungovat korektně. Pokud je potřebujete používat, přejděte na novější řadu PHP, což doporučujeme i z bezpečnostních a výkonnostních důvodů.
mysqldump
Syntaxe: mysqldump [--routines|-R] [--quick|-q] [--quote-names|-Q] [--default-character-set charset] [--set-charset|--skip-set-charset] [--no-create-db|-n] [--no-create-info|-t] [--no-data|-d] [--ignore-table=db_name.tbl_name] --user=username --password=pass database [table]
Pomocí nástroje mysqldump se jako uživatel "username" s heslem "pass" přihlásí do databáze "database", dump této databáze (případně vybrané tabulky "table"; více tabulek oddělit mezerou) vypíše na standardní výstup.
mysqlimport
Syntaxe: mysqlimport --user=username --password=pass database [filename]
Jako uživatel "username" s heslem "pass" se přihlásí do databáze "database" a v ní provede SQL příkazy uložené v souboru "filename". Pokud parametr "filename" není zadán, je SQL načteno ze standardního vstupu
php
Syntaxe: php [-c subdomain] script [--] [parameters]
Spustí PHP skript "script" s volitelným parametrem nebo parametry "parameters", případný výstup je vypsán na standardní výstup. Přepínač -c umožňuje vybrat subdoménu, s jejíž konfigurací skript proběhne. Není-li zadán, nastavení PHP bude stejné jako pro skripty spouštěné cronem. Výjimkou je direktiva display_errors, která je vždy nastavena na "on". Volitelný oddělovač -- je třeba použít v situaci, kdy se PHP skriptu předává nějaký parametr začínající pomlčkou.
Příklady:
php -c example.com script.php
php -c sub.example.com script.php -- --parameter=value
daemon
Syntaxe: daemon id command
Ovládání běhu PHP skriptu běžícího na serveru jako služba. ID skriptu je k uvedeno v klientské sekci, ve správě příslušné domény v záložce Webserver. K dispozici jsou čtyři příkazy (command): start (spuštění démona), stop (pozastavení démona), restart (restart démona) a status (zjištění stavu).
Pozastavení je určeno pouze pro dočasné úpravy, při restartu serveru (např. v rámci aktualizace) jsou všichni démoni nastartování automaticky. Pokud nějakého démona chcete spolehlivě deaktivovat na delší dobu, zrušte jej v klientské sekci.
Příklady:
daemon 1 stop
daemon 3 status