{"id":38928,"date":"2019-10-31T22:26:48","date_gmt":"2019-10-31T19:26:48","guid":{"rendered":"https:\/\/prohoster.info\/blog\/komanda-cp-pravilnoe-kopirovanie-papok-s-fajlami-v-nix\/"},"modified":"2019-10-31T22:26:48","modified_gmt":"2019-10-31T19:26:48","slug":"komanda-cp-pravilnoe-kopirovanie-papok-s-fajlami-v-nix","status":"publish","type":"post","link":"https:\/\/prohoster.info\/sk\/blog\/administrirovanie\/komanda-cp-pravilnoe-kopirovanie-papok-s-fajlami-v-nix","title":{"rendered":"Pr\u00edkaz cp: spr\u00e1vne kop\u00edrovanie adres\u00e1rov s \u00fadajmi v *nix","gt_translate_keys":[{"key":"rendered","format":"text"}]},"content":{"rendered":"<p><img decoding=\"async\" alt=\"Pr\u00edkaz cp: spr\u00e1vne kop\u00edrovanie adres\u00e1rov s \u00fadajmi v *nix\" src=\"\/wp-content\/uploads\/2019\/10\/44fed4a64417950ae1f2307d2c9c92ca.jpg\" style=\"display:block;margin: 0 auto;\" \/><br \/>\n<br \/>\nV tomto \u010dl\u00e1nku sa odhalia niektor\u00e9 menej zjavn\u00e9 aspekty spojen\u00e9 s pou\u017e\u00edvan\u00edm <noindex><a rel=\"nofollow\" href=\"https:\/\/ru.wikipedia.org\/wiki\/%D0%A8%D0%B0%D0%B1%D0%BB%D0%BE%D0%BD_%D0%BF%D0%BE%D0%B8%D1%81%D0%BA%D0%B0\">wildcards<\/a><\/noindex> pri kop\u00edrovan\u00ed, nejednozna\u010dn\u00e9 spr\u00e1vanie pr\u00edkazu <code>cp<\/code> pri kop\u00edrovan\u00ed, ako aj met\u00f3dy umo\u017e\u0148uj\u00face spr\u00e1vne kop\u00edrova\u0165 obrovsk\u00e9 mno\u017estvo s\u00faborov bez vynechania a chybov\u00fdch hl\u00e1sen\u00ed.<\/p>\n<p>Predpokladajme, \u017ee potrebujeme skop\u00edrova\u0165 v\u0161etko z prie\u010dinka \/source do prie\u010dinka \/target.<br \/>\n<noindex><a rel=\"nofollow\" name=\"habracut\"><\/a><\/noindex><br \/>\nPrv\u00e9, \u010do napadne, je:<\/p>\n<pre><code class=\"bash\">cp \/source\/* \/target<\/code><\/pre>\n<p>\nIhne\u010f oprav\u00edme tento pr\u00edkaz na:<\/p>\n<pre><code class=\"bash\">cp -a \/source\/* \/target<\/code><\/pre>\n<p>\nParameter <code>-a<\/code> prid\u00e1 kop\u00edrovanie v\u0161etk\u00fdch atrib\u00fatov, pr\u00e1v a prid\u00e1 rekurziu. Ke\u010f nie je potrebn\u00e9 presn\u00e9 reprodukovanie pr\u00e1v, sta\u010d\u00ed parameter <code>-r<\/code>.<\/p>\n<p>Po kop\u00edrovan\u00ed zist\u00edme, \u017ee neboli skop\u00edrovan\u00e9 v\u0161etky s\u00fabory \u2014 boli ignorovan\u00e9 s\u00fabory za\u010d\u00ednaj\u00face bodkou, ako s\u00fa:<\/p>\n<p><code>.profil<br \/>\n.lok\u00e1lny<br \/>\n.mc<\/code><br \/>\na podobne.<\/p>\n<p>Pre\u010do sa to stalo?<\/p>\n<p>Preto\u017ee wildcards spracov\u00e1va shell (<code>bash<\/code> v typickom pr\u00edpade). Predvolen\u00fd bash ignoruje v\u0161etky s\u00fabory za\u010d\u00ednaj\u00face bodkami, preto\u017ee ich pova\u017euje za skryt\u00e9. Aby sme sa vyhli tak\u00e9muto spr\u00e1vaniu, budeme musie\u0165 zmeni\u0165 spr\u00e1vanie <code>bash<\/code> pomocou pr\u00edkazu:<\/p>\n<pre><code class=\"bash\">shopt -s dotglob<\/code><\/pre>\n<p>\nAby sa t\u00e1to zmena spr\u00e1vania zachovala po re\u0161tarte, m\u00f4\u017eeme vytvori\u0165 s\u00fabor wildcard.sh s t\u00fdmto pr\u00edkazom v prie\u010dinku <code>\/etc\/profile.d<\/code> (mo\u017eno vo va\u0161ej distrib\u00facii in\u00fd prie\u010dinok).<\/p>\n<p>Ak v\u0161ak v adres\u00e1ri zdroja nie s\u00fa \u017eiadne s\u00fabory, shell nebude m\u00f4c\u0165 ni\u010d priradi\u0165 na miesto hviezdi\u010dky a kop\u00edrovanie tie\u017e skon\u010d\u00ed chybou. Proti takejto situ\u00e1cii m\u00e1me mo\u017enosti <code>failglob<\/code> a <code>nullglob<\/code>. Budeme musie\u0165 nastavi\u0165 <code>failglob<\/code>, aby pr\u00edkaz nevykonal. <code>nullglob<\/code> toto nebude fungova\u0165, preto\u017ee premen\u00ed pr\u00e1zdny re\u0165azec (nulovej d\u013a\u017eky) na re\u0165azec s wildcards, \u010do pre <code>cp<\/code> vyvol\u00e1 chybu.<\/p>\n<p>Av\u0161ak, ak v prie\u010dinku je tis\u00edc s\u00faborov a viac, je rozumn\u00e9 \u00faplne sa vzda\u0165 pr\u00edstupu pomocou wildcards. Ide o to, \u017ee <code>bash<\/code> rozbal\u00ed wildcards do ve\u013emi dlh\u00e9ho pr\u00edkazu, ako je:<\/p>\n<pre><code class=\"bash\">cp -a \/source\/a \/source\/b \/source\/c \u2026\u2026 \/target<\/code><\/pre>\n<p>\nD\u013a\u017eka pr\u00edkazov\u00e9ho riadku m\u00e1 obmedzenia, ktor\u00e9 m\u00f4\u017eeme zisti\u0165 pomocou pr\u00edkazu:<\/p>\n<pre><code class=\"bash\">getconf ARG_MAX<\/code><\/pre>\n<p>\nZ\u00edskame maxim\u00e1lnu d\u013a\u017eku pr\u00edkazov\u00e9ho riadku v bajtoch:<\/p>\n<pre><code class=\"bash\">2097152<\/code><\/pre>\n<p>\nAlebo:<\/p>\n<pre><code class=\"bash\">xargs --show-limits<\/code><\/pre>\n<p>\nZ\u00edskame nie\u010do ako:<\/p>\n<pre><code class=\"bash\">\u2026.\nMaxim\u00e1lna d\u013a\u017eka pr\u00edkazu, ktor\u00fa m\u00f4\u017eeme naozaj pou\u017ei\u0165: 2089314\n\u2026.<\/code><\/pre>\n<p>\nTak\u017ee, po\u010fme sa \u00faplne vyhn\u00fa\u0165 wildcards.<\/p>\n<p>Jednoducho nap\u00ed\u0161me<\/p>\n<pre><code class=\"bash\">cp -a \/source \/target<\/code><\/pre>\n<p>\nA tu sa stretneme s nejednozna\u010dnos\u0165ou spr\u00e1vania <code>cp<\/code>. Ak prie\u010dinok \/target neexistuje, dostaneme to, \u010do potrebujeme.<\/p>\n<p>Av\u0161ak ak prie\u010dinok target existuje, s\u00fabory bud\u00fa skop\u00edrovan\u00e9 do prie\u010dinka \/target\/source.<\/p>\n<p>Nie v\u017edy m\u00f4\u017eeme predt\u00fdm odstr\u00e1ni\u0165 prie\u010dinok \/target, preto\u017ee v \u0148om m\u00f4\u017eu by\u0165 potrebn\u00e9 s\u00fabory a n\u00e1\u0161 cie\u013e, povedzme, je doplni\u0165 s\u00fabory v \/target s\u00fabormi z \/source.<\/p>\n<p>Keby sa prie\u010dinky zdroja a pr\u00edjemcu volali rovnako, napr\u00edklad keby sme kop\u00edrovali z \/source do \/home\/source, mohli by sme pou\u017ei\u0165 pr\u00edkaz:<\/p>\n<pre><code class=\"bash\">cp -a \/source \/home<\/code><\/pre>\n<p>\nA po skop\u00edrovan\u00ed by s\u00fabory v \/home\/source mali by\u0165 doplnen\u00e9 s\u00fabormi z \/source.<\/p>\n<blockquote><p>Tak\u00e1to logick\u00e1 \u00faloha: m\u00f4\u017eeme doplni\u0165 s\u00fabory v adres\u00e1ri pr\u00edjemcu, ak sa prie\u010dinky volaj\u00fa rovnako, ale ak s\u00fa r\u00f4zne, prie\u010dinok zdroja bude umiestnen\u00fd vo vn\u00fatri pr\u00edjemcu. Ako skop\u00edrova\u0165 s\u00fabory z \/source do \/target pomocou cp bez wildcards?<\/p><\/blockquote>\n<p>\nAby sme obch\u00e1dzali toto nevhodn\u00e9 obmedzenie, pou\u017e\u00edvame nevidite\u013en\u00e9 rie\u0161enie:<\/p>\n<pre><code class=\"bash\">cp -a \/source\/. \/target<\/code><\/pre>\n<p>\nT\u00ed, ktor\u00ed s\u00fa dobre obozn\u00e1men\u00ed s DOS a Linuxom, u\u017e v\u0161etko pochopili: v ka\u017edom prie\u010dinku sa nach\u00e1dzaj\u00fa 2 nevidite\u013en\u00e9 prie\u010dinky &#171;.&#187; a &#171;..&#187;, ktor\u00e9 s\u00fa falo\u0161n\u00fdmi prie\u010dinkami-odkazmi na aktu\u00e1lny a nadriaden\u00e9 adres\u00e1re.<\/p>\n<ul>\n<li>Pri kop\u00edrovan\u00ed <code>cp<\/code> kontroluje existenciu a pok\u00fa\u0161a sa vytvori\u0165 \/target\/.<\/li>\n<li>Tak\u00fdto adres\u00e1r existuje a to je \/target<\/li>\n<li>S\u00fabory z \/source boli spr\u00e1vne skop\u00edrovan\u00e9 do \/target.<\/li>\n<\/ul>\n<p>\nTak\u017ee si zapam\u00e4tajte v tu\u010dnej r\u00e1m\u010dekovej forme vo svojej pam\u00e4ti alebo na stene:<\/p>\n<blockquote>\n<pre><code class=\"bash\">cp -a \/source\/. \/target<\/code><\/pre>\n<\/blockquote>\n<p>\nSpr\u00e1vanie tohto pr\u00edkazu je jednozna\u010dn\u00e9. V\u0161etko bude fungova\u0165 bez ch\u00fdb bez oh\u013eadu na to, \u010di m\u00e1te mili\u00f3n s\u00faborov alebo \u017eiadne.<\/p>\n<h3>Zhrnutie<\/h3>\n<p>\nAk potrebujete skop\u00edrova\u0165 <b>v\u0161etky<\/b> s\u00fabory z jedn\u00e9ho prie\u010dinka do druh\u00e9ho, nepou\u017e\u00edvajte wildcards, namiesto toho je lep\u0161ie pou\u017ei\u0165 <code>cp<\/code> v kombin\u00e1cii s bodkou na konci prie\u010dinku zdroja. T\u00fdm sa skop\u00edruj\u00fa v\u0161etky s\u00fabory, vr\u00e1tane skryt\u00fdch a nezr\u00fati sa to pri mili\u00f3noch s\u00faborov alebo \u00faplnej absencii s\u00faborov.<\/p>\n<h4>P\u00f3sledok<\/h4>\n<p>\n<noindex><a rel=\"nofollow\" href=\"https:\/\/habr.com\/ru\/users\/vmspike\/\" class=\"user_link\">vmspike<\/a><\/noindex> navrhol podobn\u00fd v\u00fdsledn\u00fd variant pr\u00edkazu:<\/p>\n<pre><code class=\"bash\">cp -a -T \/source \/target<\/code><\/pre>\n<p>\n<noindex><a rel=\"nofollow\" href=\"https:\/\/habr.com\/ru\/users\/oz_alex\/\" class=\"user_link\">Oz_Alex<\/a><\/noindex><\/p>\n<pre><code class=\"bash\">cp -aT \/source \/target<\/code><\/pre>\n<p>\nPOZOR: ve\u013ekos\u0165 p\u00edsmena <code>T<\/code> m\u00e1 v\u00fdznam. Ak sa pom\u00fdlite, dostanete \u00fapln\u00fd chaos: smer kop\u00edrovania sa zmen\u00ed.<br \/>\nPo\u010fakovanie:<\/p>\n<ul>\n<li>Spolo\u010dnosti <noindex><a rel=\"nofollow\" href=\"https:\/\/ruvds.com\/\">RUVDS.COM<\/a><\/noindex> za podporu a mo\u017enos\u0165 publikovania vo svojom blogu na Habre.<\/li>\n<li>Za obr\u00e1zok <noindex><a rel=\"nofollow\" href=\"https:\/\/vk.com\/neoprosveschenie\">TripletConcept<\/a><\/noindex>. Obr\u00e1zok je ve\u013emi ve\u013ek\u00fd a detailn\u00fd, m\u00f4\u017eete si ho otvori\u0165 v samostatnom okne.<\/li>\n<\/ul>\n<p>\n<b>P.S.<\/b> Zisten\u00e9 chyby smerujte do s\u00fakromnej spr\u00e1vy. Zvy\u0161ujem za to karmu.<\/p>\n<p>\n<noindex><a rel=\"nofollow\" href=\"https:\/\/ruvds.com\/ru-rub\/#order\"><img decoding=\"async\" alt=\"Pr\u00edkaz cp: spr\u00e1vne kop\u00edrovanie adres\u00e1rov s \u00fadajmi v *nix\" src=\"\/wp-content\/uploads\/2019\/10\/67131836f7fb6cf7827541e9dc607513.jpg\" style=\"display:block;margin: 0 auto;\" \/><\/a><\/noindex><br \/>\n<br \/>Zdroj: <a content=\"nofollow\" rel=\"nofollow\" href=\"https:\/\/habr.com\/ru\/company\/ruvds\/blog\/471092\/\">habr.com<\/a><\/p>","protected":false,"gt_translate_keys":[{"key":"rendered","format":"html"}]},"excerpt":{"rendered":"<p>\u0412 \u044d\u0442\u043e\u0439 \u0441\u0442\u0430\u0442\u044c\u0435 \u0431\u0443\u0434\u0443\u0442 \u0440\u0430\u0441\u043a\u0440\u044b\u0442\u044b \u043d\u0435\u043a\u043e\u0442\u043e\u0440\u044b\u0435 \u043d\u0435\u043e\u0447\u0435\u0432\u0438\u0434\u043d\u044b\u0435 \u0432\u0435\u0449\u0438 \u0441\u0432\u044f\u0437\u0430\u043d\u043d\u044b\u0435 \u0441 \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u043d\u0438\u0435\u043c wildcards \u043f\u0440\u0438 \u043a\u043e\u043f\u0438\u0440\u043e\u0432\u0430\u043d\u0438\u0438, \u043d\u0435\u043e\u0434\u043d\u043e\u0437\u043d\u0430\u0447\u043d\u043e\u0435 \u043f\u043e\u0432\u0435\u0434\u0435\u043d\u0438\u0435 \u043a\u043e\u043c\u0430\u043d\u0434\u044b cp \u043f\u0440\u0438 \u043a\u043e\u043f\u0438\u0440\u043e\u0432\u0430\u043d\u0438\u0438, \u0430 \u0442\u0430\u043a\u0436\u0435 \u0441\u043f\u043e\u0441\u043e\u0431\u044b \u043f\u043e\u0437\u0432\u043e\u043b\u044f\u044e\u0449\u0438\u0435 \u043a\u043e\u0440\u0440\u0435\u043a\u0442\u043d\u043e \u043a\u043e\u043f\u0438\u0440\u043e\u0432\u0430\u0442\u044c \u043e\u0433\u0440\u043e\u043c\u043d\u043e\u0435 \u043a\u043e\u043b\u0438\u0447\u0435\u0441\u0442\u0432\u043e \u0444\u0430\u0439\u043b\u043e\u0432 \u0431\u0435\u0437 \u043f\u0440\u043e\u043f\u0443\u0441\u043a\u043e\u0432 \u0438 \u0432\u044b\u043b\u0435\u0442\u043e\u0432. \u0414\u043e\u043f\u0443\u0441\u0442\u0438\u043c \u043d\u0430\u043c \u043d\u0443\u0436\u043d\u043e \u0441\u043a\u043e\u043f\u0438\u0440\u043e\u0432\u0430\u0442\u044c \u0432\u0441\u0451 \u0438\u0437 \u043f\u0430\u043f\u043a\u0438 \/source \u0432 \u043f\u0430\u043f\u043a\u0443 \/target. \u041f\u0435\u0440\u0432\u043e\u0435, \u0447\u0442\u043e \u043f\u0440\u0438\u0445\u043e\u0434\u0438\u0442 \u043d\u0430 \u0443\u043c \u044d\u0442\u043e: cp \/source\/* \/target \u0421\u0440\u0430\u0437\u0443 \u0438\u0441\u043f\u0440\u0430\u0432\u0438\u043c [&hellip;]<\/p>\n","protected":false,"gt_translate_keys":[{"key":"rendered","format":"html"}]},"author":1,"featured_media":29205,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[688],"tags":[],"class_list":["post-38928","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-administrirovanie"],"aioseo_notices":[],"aioseo_head":"\n\t\t<!-- All in One SEO 5.0.4 - aioseo.com -->\n\t<meta name=\"description\" content=\"\u0412 \u044d\u0442\u043e\u0439 \u0441\u0442\u0430\u0442\u044c\u0435 \u0431\u0443\u0434\u0443\u0442 \u0440\u0430\u0441\u043a\u0440\u044b\u0442\u044b.\" \/>\n\t<meta name=\"robots\" content=\"max-image-preview:large\" \/>\n\t<meta name=\"author\" content=\"Yuri Gagarin\"\/>\n\t<link rel=\"canonical\" href=\"https:\/\/prohoster.info\/sk\/blog\/administrirovanie\/komanda-cp-pravilnoe-kopirovanie-papok-s-fajlami-v-nix\" \/>\n\t\t<meta name=\"generator\" content=\"All in One SEO (AIOSEO) 5.0.4\" \/>\n\t\t<meta property=\"og:locale\" content=\"sk_SK\" \/>\n\t\t<meta property=\"og:site_name\" content=\"ProHoster | \u041a\u0443\u043f\u0438\u0442\u044c \u043d\u0430\u0434\u0435\u0436\u043d\u044b\u0439 \u0445\u043e\u0441\u0442\u0438\u043d\u0433 \u0434\u043b\u044f \u0441\u0430\u0439\u0442\u043e\u0432 \u0441 \u0437\u0430\u0449\u0438\u0442\u043e\u0439 \u043e\u0442 DDoS, VPS VDS \u0441\u0435\u0440\u0432\u0435\u0440\u044b\" \/>\n\t\t<meta property=\"og:type\" content=\"article\" \/>\n\t\t<meta property=\"og:title\" content=\"\ud83e\udd47\u041a\u043e\u043c\u0430\u043d\u0434\u0430 cp: \u043f\u0440\u0430\u0432\u0438\u043b\u044c\u043d\u043e\u0435 \u043a\u043e\u043f\u0438\u0440\u043e\u0432\u0430\u043d\u0438\u0435 \u043f\u0430\u043f\u043e\u043a \u0441 \u0444\u0430\u0439\u043b\u0430\u043c\u0438 \u0432 *nix | ProHoster\" \/>\n\t\t<meta property=\"og:description\" content=\"\u0412 \u044d\u0442\u043e\u0439 \u0441\u0442\u0430\u0442\u044c\u0435 \u0431\u0443\u0434\u0443\u0442 \u0440\u0430\u0441\u043a\u0440\u044b\u0442\u044b.\" \/>\n\t\t<meta property=\"og:url\" content=\"https:\/\/prohoster.info\/sk\/blog\/administrirovanie\/komanda-cp-pravilnoe-kopirovanie-papok-s-fajlami-v-nix\" \/>\n\t\t<meta property=\"og:image\" content=\"https:\/\/prohoster.info\/wp-content\/uploads\/2021\/11\/logo-350.jpg\" \/>\n\t\t<meta property=\"og:image:secure_url\" content=\"https:\/\/prohoster.info\/wp-content\/uploads\/2021\/11\/logo-350.jpg\" \/>\n\t\t<meta property=\"og:image:width\" content=\"350\" \/>\n\t\t<meta property=\"og:image:height\" content=\"350\" \/>\n\t\t<meta property=\"article:published_time\" content=\"2019-10-31T19:26:48+00:00\" \/>\n\t\t<meta property=\"article:modified_time\" content=\"2019-10-31T19:26:48+00:00\" \/>\n\t\t<meta property=\"article:publisher\" content=\"https:\/\/www.facebook.com\/prohoster\" \/>\n\t\t<meta property=\"article:author\" content=\"https:\/\/www.facebook.com\/prohoster\" \/>\n\t\t<!-- All in One SEO -->\n\n","aioseo_head_json":{"title":"\ud83e\udd47 Pr\u00edkaz cp: spr\u00e1vne kop\u00edrovanie prie\u010dinkov so s\u00fabormi v *nix | ProHoster","description":"V tomto \u010dl\u00e1nku bud\u00fa odhalen\u00e9.","canonical_url":"https:\/\/prohoster.info\/sk\/blog\/administrirovanie\/komanda-cp-pravilnoe-kopirovanie-papok-s-fajlami-v-nix","robots":"max-image-preview:large","keywords":"","webmasterTools":{"miscellaneous":""},"schema":null,"og:locale":"sk_SK","og:site_name":"ProHoster | \u041a\u0443\u043f\u0438\u0442\u044c \u043d\u0430\u0434\u0435\u0436\u043d\u044b\u0439 \u0445\u043e\u0441\u0442\u0438\u043d\u0433 \u0434\u043b\u044f \u0441\u0430\u0439\u0442\u043e\u0432 \u0441 \u0437\u0430\u0449\u0438\u0442\u043e\u0439 \u043e\u0442 DDoS, VPS VDS \u0441\u0435\u0440\u0432\u0435\u0440\u044b","og:type":"article","og:title":"\ud83e\udd47\u041a\u043e\u043c\u0430\u043d\u0434\u0430 cp: \u043f\u0440\u0430\u0432\u0438\u043b\u044c\u043d\u043e\u0435 \u043a\u043e\u043f\u0438\u0440\u043e\u0432\u0430\u043d\u0438\u0435 \u043f\u0430\u043f\u043e\u043a \u0441 \u0444\u0430\u0439\u043b\u0430\u043c\u0438 \u0432 *nix | ProHoster","og:description":"\u0412 \u044d\u0442\u043e\u0439 \u0441\u0442\u0430\u0442\u044c\u0435 \u0431\u0443\u0434\u0443\u0442 \u0440\u0430\u0441\u043a\u0440\u044b\u0442\u044b.","og:url":"https:\/\/prohoster.info\/sk\/blog\/administrirovanie\/komanda-cp-pravilnoe-kopirovanie-papok-s-fajlami-v-nix","og:image":"https:\/\/prohoster.info\/wp-content\/uploads\/2021\/11\/logo-350.jpg","og:image:secure_url":"https:\/\/prohoster.info\/wp-content\/uploads\/2021\/11\/logo-350.jpg","og:image:width":350,"og:image:height":350,"article:published_time":"2019-10-31T19:26:48+00:00","article:modified_time":"2019-10-31T19:26:48+00:00","article:publisher":"https:\/\/www.facebook.com\/prohoster","article:author":"https:\/\/www.facebook.com\/prohoster"},"aioseo_meta_data":{"post_id":"38928","title":null,"description":null,"keywords":null,"keyphrases":{"focus":[],"additional":[]},"primary_term":null,"canonical_url":null,"og_title":null,"og_description":null,"og_object_type":"default","og_image_type":"default","og_image_url":null,"og_image_width":null,"og_image_height":null,"og_image_custom_url":null,"og_image_custom_fields":null,"og_video":null,"og_custom_url":null,"og_article_section":null,"og_article_tags":null,"twitter_use_og":false,"twitter_card":"default","twitter_image_type":"default","twitter_image_url":null,"twitter_image_custom_url":null,"twitter_image_custom_fields":null,"twitter_title":null,"twitter_description":null,"schema":{"blockGraphs":[],"customGraphs":[],"default":{"data":{"Article":[],"Course":[],"Dataset":[],"FAQPage":[],"Movie":[],"Person":[],"Product":[],"ProductReview":[],"Car":[],"Recipe":[],"Service":[],"SoftwareApplication":[],"WebPage":[]},"graphName":"","isEnabled":true},"graphs":[]},"schema_type":null,"schema_type_options":null,"pillar_content":false,"robots_default":true,"robots_noindex":false,"robots_noarchive":false,"robots_nosnippet":false,"robots_nofollow":false,"robots_noimageindex":false,"robots_noodp":false,"robots_notranslate":false,"robots_max_snippet":null,"robots_max_videopreview":null,"robots_max_imagepreview":"large","priority":null,"frequency":null,"local_seo":null,"seo_analyzer_scan_date":"2026-01-23 23:59:19","breadcrumb_settings":null,"limit_modified_date":false,"reviewed_by":null,"ai":null,"created":"2021-03-01 01:00:26","updated":"2026-08-11 12:50:30","focus_keyword":null,"additional_keywords":null,"truseo_locale":null},"gt_translate_keys":[{"key":"link","format":"url"}],"_links":{"self":[{"href":"https:\/\/prohoster.info\/sk\/wp-json\/wp\/v2\/posts\/38928","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/prohoster.info\/sk\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/prohoster.info\/sk\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/prohoster.info\/sk\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/prohoster.info\/sk\/wp-json\/wp\/v2\/comments?post=38928"}],"version-history":[{"count":0,"href":"https:\/\/prohoster.info\/sk\/wp-json\/wp\/v2\/posts\/38928\/revisions"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/prohoster.info\/sk\/wp-json\/wp\/v2\/media\/29205"}],"wp:attachment":[{"href":"https:\/\/prohoster.info\/sk\/wp-json\/wp\/v2\/media?parent=38928"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/prohoster.info\/sk\/wp-json\/wp\/v2\/categories?post=38928"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/prohoster.info\/sk\/wp-json\/wp\/v2\/tags?post=38928"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}