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.
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