]> _ Git - tortuga-home.git/commitdiff
.
authorVincent <vincent@enhydra.fr>
Thu, 11 Jul 2019 07:05:00 +0000 (09:05 +0200)
committerVincent <vincent@enhydra.fr>
Thu, 11 Jul 2019 07:05:00 +0000 (09:05 +0200)
.idea/workspace.xml
scripts/cron/cron.php
scripts/lib/ssh.php

index a39bca149a36d345bcf65213024655561ded5563..20aa95ff8853f983d163cd644228c800d419642e 100644 (file)
@@ -3,8 +3,8 @@
   <component name="ChangeListManager">
     <list default="true" id="352ce63a-b52a-41a2-979b-becda7920939" name="Default" comment=".">
       <change beforePath="$PROJECT_DIR$/.idea/workspace.xml" beforeDir="false" afterPath="$PROJECT_DIR$/.idea/workspace.xml" afterDir="false" />
-      <change beforePath="$PROJECT_DIR$/scripts/lib/bricks.php" beforeDir="false" afterPath="$PROJECT_DIR$/scripts/lib/bricks.php" afterDir="false" />
-      <change beforePath="$PROJECT_DIR$/scripts/lib/mediarasp.php" beforeDir="false" afterPath="$PROJECT_DIR$/scripts/lib/mediarasp.php" afterDir="false" />
+      <change beforePath="$PROJECT_DIR$/scripts/cron/cron.php" beforeDir="false" afterPath="$PROJECT_DIR$/scripts/cron/cron.php" afterDir="false" />
+      <change beforePath="$PROJECT_DIR$/scripts/lib/ssh.php" beforeDir="false" afterPath="$PROJECT_DIR$/scripts/lib/ssh.php" afterDir="false" />
     </list>
     <option name="EXCLUDED_CONVERTED_TO_IGNORED" value="true" />
     <option name="SHOW_DIALOG" value="false" />
   </component>
   <component name="FileEditorManager">
     <leaf SIDE_TABS_SIZE_LIMIT_KEY="300">
-      <file pinned="false" current-in-tab="false">
+      <file pinned="false" current-in-tab="true">
         <entry file="file://$PROJECT_DIR$/scripts/lib/ssh.php">
           <provider selected="true" editor-type-id="text-editor">
-            <state relative-caret-position="323">
-              <caret line="25" column="48" selection-start-line="25" selection-start-column="48" selection-end-line="25" selection-end-column="48" />
+            <state relative-caret-position="340">
+              <caret line="37" column="6" selection-start-line="37" selection-start-column="6" selection-end-line="37" selection-end-column="6" />
+            </state>
+          </provider>
+        </entry>
+      </file>
+      <file pinned="false" current-in-tab="false">
+        <entry file="file://$PROJECT_DIR$/servers/cron.php">
+          <provider selected="true" editor-type-id="text-editor">
+            <state relative-caret-position="85">
+              <caret line="5" column="25" selection-start-line="5" selection-start-column="25" selection-end-line="5" selection-end-column="25" />
             </state>
           </provider>
         </entry>
@@ -61,8 +70,8 @@
       <file pinned="false" current-in-tab="false">
         <entry file="jar://$APPLICATION_PLUGINS_DIR$/php/lib/php.jar!/stubs/ssh2/ssh2.php">
           <provider selected="true" editor-type-id="text-editor">
-            <state relative-caret-position="-12665">
-              <caret line="23" column="29" lean-forward="true" selection-start-line="23" selection-start-column="29" selection-end-line="23" selection-end-column="29" />
+            <state relative-caret-position="-1615">
+              <caret line="23" column="29" selection-start-line="23" selection-start-column="29" selection-end-line="23" selection-end-column="29" />
             </state>
           </provider>
         </entry>
@@ -70,8 +79,8 @@
       <file pinned="false" current-in-tab="false">
         <entry file="file://$PROJECT_DIR$/servers/ssh.php">
           <provider selected="true" editor-type-id="text-editor">
-            <state relative-caret-position="187">
-              <caret line="12" column="50" lean-forward="true" selection-start-line="12" selection-start-column="50" selection-end-line="12" selection-end-column="50" />
+            <state relative-caret-position="595">
+              <caret line="35" column="18" lean-forward="true" selection-start-line="35" selection-start-column="18" selection-end-line="35" selection-end-column="18" />
             </state>
           </provider>
         </entry>
       <file pinned="false" current-in-tab="false">
         <entry file="file://$PROJECT_DIR$/scripts/cron/cron.php">
           <provider selected="true" editor-type-id="text-editor">
-            <state relative-caret-position="71">
-              <caret line="68" selection-start-line="68" selection-end-line="68" />
+            <state relative-caret-position="425">
+              <caret line="25" column="5" selection-start-line="25" selection-start-column="5" selection-end-line="25" selection-end-column="5" />
             </state>
           </provider>
         </entry>
       </file>
-      <file pinned="false" current-in-tab="true">
+      <file pinned="false" current-in-tab="false">
         <entry file="file://$PROJECT_DIR$/scripts/lib/mediarasp.php">
           <provider selected="true" editor-type-id="text-editor">
-            <state relative-caret-position="476">
-              <caret line="187" column="30" selection-start-line="187" selection-start-column="30" selection-end-line="187" selection-end-column="30" />
+            <state relative-caret-position="102">
+              <caret line="162" column="34" lean-forward="true" selection-start-line="162" selection-start-column="34" selection-end-line="162" selection-end-column="34" />
             </state>
           </provider>
         </entry>
       </file>
       <file pinned="false" current-in-tab="false">
         <entry file="file://$PROJECT_DIR$/config/remote.php">
-          <provider selected="true" editor-type-id="text-editor">
-            <state relative-caret-position="-680" />
-          </provider>
+          <provider selected="true" editor-type-id="text-editor" />
         </entry>
       </file>
       <file pinned="false" current-in-tab="false">
         <entry file="file://$PROJECT_DIR$/scripts/lib/bricks.php">
           <provider selected="true" editor-type-id="text-editor">
-            <state relative-caret-position="408">
+            <state relative-caret-position="714">
               <caret line="42" column="114" selection-start-line="42" selection-start-column="114" selection-end-line="42" selection-end-column="114" />
-              <folding>
-                <element signature="n#style#0;n#i#0;n#a#0;n#div#0;n#!!top" expanded="true" />
-                <element signature="n#style#0;n#i#0;n#div#0;n#!!top" expanded="true" />
-                <element signature="n#style#0;n#div#0;n#a#0;n#!!top" expanded="true" />
-                <element signature="n#style#0;n#img#0;n#!!top" expanded="true" />
-              </folding>
-            </state>
-          </provider>
-        </entry>
-      </file>
-      <file pinned="true" current-in-tab="false">
-        <entry file="remoteDeploymentFS://&lt;8cda9e1e-98d8-49bb-81b8-f2badfeb706b&gt;/cache/seen.json">
-          <provider selected="true" editor-type-id="text-editor">
-            <state>
-              <caret column="10173" selection-start-column="10167" selection-end-column="10173" />
             </state>
           </provider>
         </entry>
         <option value="$PROJECT_DIR$/scripts/lib/tmdb.php" />
         <option value="$PROJECT_DIR$/scripts/tmdb.php" />
         <option value="$PROJECT_DIR$/scripts/lib/harmony.php" />
-        <option value="$PROJECT_DIR$/scripts/lib/ssh.php" />
         <option value="$PROJECT_DIR$/composer.json" />
         <option value="$PROJECT_DIR$/servers/ssh.php" />
-        <option value="$PROJECT_DIR$/scripts/cron/cron.php" />
         <option value="$PROJECT_DIR$/scripts/lib/bricks.php" />
         <option value="$PROJECT_DIR$/scripts/lib/mediarasp.php" />
+        <option value="$PROJECT_DIR$/scripts/cron/cron.php" />
+        <option value="$PROJECT_DIR$/scripts/lib/ssh.php" />
       </list>
     </option>
   </component>
       <foldersAlwaysOnTop value="true" />
     </navigator>
     <panes>
-      <pane id="PackagesPane" />
       <pane id="ProjectPane">
         <subPane>
           <expand>
         </subPane>
       </pane>
       <pane id="Scope" />
+      <pane id="PackagesPane" />
     </panes>
   </component>
   <component name="PropertiesComponent">
       <workItem from="1562315270549" duration="3917000" />
       <workItem from="1562430904715" duration="18334000" />
       <workItem from="1562654595102" duration="11549000" />
-      <workItem from="1562710631719" duration="5123000" />
-    </task>
-    <task id="LOCAL-00149" summary=".">
-      <created>1550481681313</created>
-      <option name="number" value="00149" />
-      <option name="presentableId" value="LOCAL-00149" />
-      <option name="project" value="LOCAL" />
-      <updated>1550481681313</updated>
+      <workItem from="1562710631719" duration="5146000" />
+      <workItem from="1562789994012" duration="1567000" />
     </task>
     <task id="LOCAL-00150" summary=".">
       <created>1550482889870</created>
       <option name="project" value="LOCAL" />
       <updated>1562743327335</updated>
     </task>
-    <option name="localTasksCounter" value="198" />
+    <task id="LOCAL-00198" summary=".">
+      <created>1562746751936</created>
+      <option name="number" value="00198" />
+      <option name="presentableId" value="LOCAL-00198" />
+      <option name="project" value="LOCAL" />
+      <updated>1562746751936</updated>
+    </task>
+    <option name="localTasksCounter" value="199" />
     <servers />
   </component>
   <component name="TimeTrackingManager">
-    <option name="totallyTimeSpent" value="1271566000" />
+    <option name="totallyTimeSpent" value="1273156000" />
   </component>
   <component name="TodoView">
     <todo-panel id="selected-file">
       <window_info id="Designer" order="3" />
       <window_info id="UI Designer" order="4" />
       <window_info id="Favorites" order="5" sideWeight="0.4576547" side_tool="true" weight="0.22506666" />
-      <window_info active="true" content_ui="combo" id="Project" order="6" sideWeight="0.49456522" visible="true" weight="0.12281399" />
+      <window_info active="true" content_ui="combo" id="Project" order="6" sideWeight="0.49456522" visible="true" weight="0.1236089" />
       <window_info anchor="bottom" id="Message" order="0" />
       <window_info anchor="bottom" id="Find" order="1" sideWeight="0.48251194" weight="0.30444205" />
       <window_info anchor="bottom" id="Run" order="2" sideWeight="0.4674086" weight="0.3217768" />
       <window_info anchor="right" id="Palette&#9;" order="7" />
       <window_info anchor="right" id="Capture Analysis" order="8" />
       <window_info anchor="right" id="Theme Preview" order="9" />
-      <window_info anchor="right" id="Remote Host" order="10" sideWeight="0.48293963" visible="true" weight="0.14825119" />
+      <window_info anchor="right" id="Remote Host" order="10" sideWeight="0.4816273" visible="true" weight="0.14825119" />
       <window_info anchor="right" id="SciView" order="11" weight="0.3298887" />
-      <window_info anchor="right" id="Structure" order="12" sideWeight="0.51706034" side_tool="true" visible="true" weight="0.14825119" />
+      <window_info anchor="right" id="Structure" order="12" sideWeight="0.5183727" side_tool="true" visible="true" weight="0.14825119" />
       <window_info anchor="right" id="Data View" order="13" />
       <window_info anchor="right" id="Maven" order="14" />
     </layout>
       </provider>
     </entry>
     <entry file="file://$PROJECT_DIR$/scripts/lib/server.php" />
-    <entry file="file://$PROJECT_DIR$/servers/cron.php">
-      <provider selected="true" editor-type-id="text-editor">
-        <state relative-caret-position="85">
-          <caret line="5" column="25" selection-start-line="5" selection-start-column="25" selection-end-line="5" selection-end-column="25" />
-        </state>
-      </provider>
-    </entry>
     <entry file="file://$PROJECT_DIR$/scripts/lib/lib.php">
       <provider selected="true" editor-type-id="text-editor">
         <state relative-caret-position="-1826">
         </state>
       </provider>
     </entry>
-    <entry file="jar://$APPLICATION_PLUGINS_DIR$/php/lib/php.jar!/stubs/ssh2/ssh2.php">
+    <entry file="file://$PROJECT_DIR$/composer.json">
       <provider selected="true" editor-type-id="text-editor">
-        <state relative-caret-position="-12665">
-          <caret line="23" column="29" lean-forward="true" selection-start-line="23" selection-start-column="29" selection-end-line="23" selection-end-column="29" />
+        <state relative-caret-position="374">
+          <caret line="22" column="20" selection-start-line="22" selection-start-column="20" selection-end-line="22" selection-end-column="20" />
         </state>
       </provider>
     </entry>
-    <entry file="file://$PROJECT_DIR$/scripts/lib/ssh.php">
+    <entry file="file://$PROJECT_DIR$/scripts/seen.php">
       <provider selected="true" editor-type-id="text-editor">
-        <state relative-caret-position="323">
-          <caret line="25" column="48" selection-start-line="25" selection-start-column="48" selection-end-line="25" selection-end-column="48" />
+        <state relative-caret-position="34">
+          <caret line="2" column="27" selection-start-line="2" selection-start-column="27" selection-end-line="2" selection-end-column="27" />
         </state>
       </provider>
     </entry>
-    <entry file="file://$PROJECT_DIR$/composer.json">
+    <entry file="file://$PROJECT_DIR$/config/remote.php">
+      <provider selected="true" editor-type-id="text-editor" />
+    </entry>
+    <entry file="file://$PROJECT_DIR$/scripts/lib/bricks.php">
       <provider selected="true" editor-type-id="text-editor">
-        <state relative-caret-position="374">
-          <caret line="22" column="20" selection-start-line="22" selection-start-column="20" selection-end-line="22" selection-end-column="20" />
+        <state relative-caret-position="714">
+          <caret line="42" column="114" selection-start-line="42" selection-start-column="114" selection-end-line="42" selection-end-column="114" />
         </state>
       </provider>
     </entry>
-    <entry file="file://$PROJECT_DIR$/servers/ssh.php">
+    <entry file="file://$PROJECT_DIR$/scripts/lib/mediarasp.php">
       <provider selected="true" editor-type-id="text-editor">
-        <state relative-caret-position="187">
-          <caret line="12" column="50" lean-forward="true" selection-start-line="12" selection-start-column="50" selection-end-line="12" selection-end-column="50" />
+        <state relative-caret-position="102">
+          <caret line="162" column="34" lean-forward="true" selection-start-line="162" selection-start-column="34" selection-end-line="162" selection-end-column="34" />
         </state>
       </provider>
     </entry>
-    <entry file="file://$PROJECT_DIR$/scripts/seen.php">
+    <entry file="file://$PROJECT_DIR$/servers/ssh.php">
       <provider selected="true" editor-type-id="text-editor">
-        <state relative-caret-position="34">
-          <caret line="2" column="27" selection-start-line="2" selection-start-column="27" selection-end-line="2" selection-end-column="27" />
+        <state relative-caret-position="595">
+          <caret line="35" column="18" lean-forward="true" selection-start-line="35" selection-start-column="18" selection-end-line="35" selection-end-column="18" />
         </state>
       </provider>
     </entry>
-    <entry file="file://$PROJECT_DIR$/scripts/cron/cron.php">
+    <entry file="file://$PROJECT_DIR$/servers/cron.php">
       <provider selected="true" editor-type-id="text-editor">
-        <state relative-caret-position="71">
-          <caret line="68" selection-start-line="68" selection-end-line="68" />
+        <state relative-caret-position="85">
+          <caret line="5" column="25" selection-start-line="5" selection-start-column="25" selection-end-line="5" selection-end-column="25" />
         </state>
       </provider>
     </entry>
-    <entry file="file://$PROJECT_DIR$/config/remote.php">
+    <entry file="file://$PROJECT_DIR$/scripts/cron/cron.php">
       <provider selected="true" editor-type-id="text-editor">
-        <state relative-caret-position="-680" />
+        <state relative-caret-position="425">
+          <caret line="25" column="5" selection-start-line="25" selection-start-column="5" selection-end-line="25" selection-end-column="5" />
+        </state>
       </provider>
     </entry>
-    <entry file="file://$PROJECT_DIR$/scripts/lib/bricks.php">
+    <entry file="jar://$APPLICATION_PLUGINS_DIR$/php/lib/php.jar!/stubs/ssh2/ssh2.php">
       <provider selected="true" editor-type-id="text-editor">
-        <state relative-caret-position="408">
-          <caret line="42" column="114" selection-start-line="42" selection-start-column="114" selection-end-line="42" selection-end-column="114" />
-          <folding>
-            <element signature="n#style#0;n#i#0;n#a#0;n#div#0;n#!!top" expanded="true" />
-            <element signature="n#style#0;n#i#0;n#div#0;n#!!top" expanded="true" />
-            <element signature="n#style#0;n#div#0;n#a#0;n#!!top" expanded="true" />
-            <element signature="n#style#0;n#img#0;n#!!top" expanded="true" />
-          </folding>
+        <state relative-caret-position="-1615">
+          <caret line="23" column="29" selection-start-line="23" selection-start-column="29" selection-end-line="23" selection-end-column="29" />
         </state>
       </provider>
     </entry>
-    <entry file="file://$PROJECT_DIR$/scripts/lib/mediarasp.php">
+    <entry file="file://$PROJECT_DIR$/scripts/lib/ssh.php">
       <provider selected="true" editor-type-id="text-editor">
-        <state relative-caret-position="476">
-          <caret line="187" column="30" selection-start-line="187" selection-start-column="30" selection-end-line="187" selection-end-column="30" />
+        <state relative-caret-position="340">
+          <caret line="37" column="6" selection-start-line="37" selection-start-column="6" selection-end-line="37" selection-end-column="6" />
         </state>
       </provider>
     </entry>
index 07b91ede080f12e935f8abfdcdef5bfd97defd61..4898cb0ace935581c38a97928bc52a9151cd357c 100644 (file)
@@ -20,8 +20,11 @@ function cronOneLoop($cronmin)
         cronWeather($cronmin);
         cronSqueezeFavorites($cronmin);
     }
-    if ($cronmin % 5 == 0) {
+
+    if ($cronmin % 2 == 0) {
         cronPing($cronmin);
+    }
+    if ($cronmin % 5 == 0) {
         cronMediaLibrary($cronmin);
         cronTmdb($cronmin);
     }
@@ -107,8 +110,13 @@ function cronPing($cronmin)
     global $devices;
     setState('vincenthere', ping('192.168.1.53') ? '1' : '0');
     foreach ($devices as $name => $device) {
-        setState('device_' . $name . '_awake', ping($device['host'], 3, 22) ? '1' : '0');
+        $result = ping($device['host'], 3, 22) ? '1' : '0';
+        setState('device_' . $name . '_awake', $result);
         echo 'device_' . $name . '_awake : ' . getState('device_' . $name . '_awake') . "\n";
+        if ($result) {
+            sshCommand('pwd', $device, false, false);
+            sshCommand('pwd', $device, false, true);
+        }
     }
     echo 'vincenthere : ' . getState('vincenthere') . "\n";
 }
index 7024339bf1ce2f39be6a9e716760ee016078bd20..bf87908f8962b95a4c435cd7aa4800e8bfc7a7c9 100644 (file)
@@ -1,6 +1,6 @@
 <?php
 
-function getSSHInstance($device = null, $sudo = false)
+function getSSHInstance($device = null, $sudo = false, $force = false)
 {
     global $ssh, $devices;
     if (!isset($ssh)) {
@@ -13,7 +13,7 @@ function getSSHInstance($device = null, $sudo = false)
 
     $instance_key = $device . ($sudo ? '_sudo' : '');
 
-    if (!isset($ssh[$instance_key]) || !is_resource($ssh[$instance_key])) {
+    if ($force || !isset($ssh[$instance_key]) || !is_resource($ssh[$instance_key])) {
         if (!isset($devices[$device])) {
             $ssh[$instance_key] = false;
         } else {
@@ -50,7 +50,17 @@ function sshRunCommand($command, $device = null, $blocking = true, $sudo = false
 {
     $ssh = getSSHInstance($device, $sudo);
     if ($ssh) {
-        $stream = ssh2_exec($ssh, $command);
+        $stream = @ssh2_exec($ssh, $command);
+        if (!$stream) {
+            echo 'Attempt to reconnect to ' . $device . "\n";
+            $ssh = getSSHInstance($device, $sudo, true);
+            $stream = @ssh2_exec($ssh, $command);
+            if (!$stream) {
+                echo 'Failed to reconnect to ' . $device . "\n";
+                return array('cmd' => $command, 'device' => $device, 'error' => 'connection failed');
+            }
+
+        }
         $errorStream = ssh2_fetch_stream($stream, SSH2_STREAM_STDERR);
 
         stream_set_blocking($errorStream, $blocking);