{"id":4808,"date":"2015-07-07T20:53:31","date_gmt":"2015-07-07T18:53:31","guid":{"rendered":"http:\/\/www.imacandi.net\/sin\/blog\/?p=4808"},"modified":"2015-07-07T20:53:31","modified_gmt":"2015-07-07T18:53:31","slug":"ssh-trick","status":"publish","type":"post","link":"https:\/\/www.imacandi.net\/sin\/blog\/2015\/07\/07\/ssh-trick.html","title":{"rendered":"ssh trick"},"content":{"rendered":"<p style=\"text-align: justify;\">Am un setup care ruleaza niste scripturi in cron care iau niste fisiere dintr-o parte si le muta in alta (asta fiind varianta scurta). Fisierele sunt aduse de la distanta pe sistem.<\/p>\n<p style=\"text-align: justify;\">Catch-ul cu asta e ca daca fac un <strong>scp<\/strong>\u00a0si ma prinde cron-ul la jumate de transfer, se mucifica operatiile de dupa, ca o sa ajung sa am un fisier intr-o stare nu tocmai cunoscuta. Asta s-ar putea rezolva verificand cumva integritatea fisierului inainte de a incerca sa-l mut, insa mi s-a parut un pic peste mana (ca trebuie sa adaug si partea de integritate la fisier, sa verific ce si cum si parca e prea multa bataie de cap).<\/p>\n<p style=\"text-align: justify;\">Partea buna in schimb e ca daca pe Linux (cred ca pe *NIX in general) vrei sa muti un fisier dintr-o parte in alta pe aceeasi partitie, operatia este atomica, asa ca solutia de a ma asigura ca fisierul ala fie a ajuns tot intr-un director sau nu, este:<\/p>\n<pre>ssh user@host \"cat - &gt; ~\/file1 ; mv ~\/file1 ~\/work\/file1\"\u00a0 &lt; file1<\/pre>\n<p style=\"text-align: justify;\">Ce face treaba asta? Un cat peste o conexiune\u00a0<strong>ssh<\/strong>\u00a0si apoi muta fisierul scris initial in <strong>~\/<\/strong>\u00a0intr-un alt director numit <strong>~\/work<\/strong>.<\/p>\n<p style=\"text-align: justify;\">Nu este chiar perfect pentru ca presupune ca <strong>ssh<\/strong>\u00a0nu se strica in timp ce se transfera fisierul. Treaba asta insa se poate fixa send-side verificand codul de eroare intors de <strong>ssh<\/strong> care va fi non-zero daca orice din tot lantul ala de comenzi nu functioneaza si atunci poti sa mai bagi o fisa cu transferul.<\/p>\n<p style=\"text-align: justify;\">Nu e cine stie ce descoperire, dar pot sa-mi fac treaba elegant :)<\/p>\n","protected":false},"excerpt":{"rendered":"<p>Am un setup care ruleaza niste scripturi in cron care iau niste fisiere dintr-o parte si le muta in alta (asta fiind varianta scurta). Fisierele sunt aduse de la distanta pe sistem. Catch-ul cu asta e ca daca fac un scp\u00a0si ma prinde cron-ul la jumate de transfer, se mucifica operatiile de dupa, ca o &hellip; <a href=\"https:\/\/www.imacandi.net\/sin\/blog\/2015\/07\/07\/ssh-trick.html\" class=\"more-link\">Continue reading <span class=\"screen-reader-text\">ssh trick<\/span> <span class=\"meta-nav\">&rarr;<\/span><\/a><\/p>\n","protected":false},"author":1,"featured_media":0,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"_monsterinsights_skip_tracking":false,"_monsterinsights_sitenote_active":false,"_monsterinsights_sitenote_note":"","_monsterinsights_sitenote_category":0,"ngg_post_thumbnail":0,"footnotes":""},"categories":[2],"tags":[7],"class_list":["post-4808","post","type-post","status-publish","format-standard","hentry","category-diverse","tag-computers"],"_links":{"self":[{"href":"https:\/\/www.imacandi.net\/sin\/blog\/wp-json\/wp\/v2\/posts\/4808","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/www.imacandi.net\/sin\/blog\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/www.imacandi.net\/sin\/blog\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/www.imacandi.net\/sin\/blog\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/www.imacandi.net\/sin\/blog\/wp-json\/wp\/v2\/comments?post=4808"}],"version-history":[{"count":6,"href":"https:\/\/www.imacandi.net\/sin\/blog\/wp-json\/wp\/v2\/posts\/4808\/revisions"}],"predecessor-version":[{"id":4814,"href":"https:\/\/www.imacandi.net\/sin\/blog\/wp-json\/wp\/v2\/posts\/4808\/revisions\/4814"}],"wp:attachment":[{"href":"https:\/\/www.imacandi.net\/sin\/blog\/wp-json\/wp\/v2\/media?parent=4808"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/www.imacandi.net\/sin\/blog\/wp-json\/wp\/v2\/categories?post=4808"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/www.imacandi.net\/sin\/blog\/wp-json\/wp\/v2\/tags?post=4808"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}