Beispiel #1
0
<?php

if (jeedom::getHardwareName() == 'Jeedomboard' && jeedom::isCapable('sudo')) {
    echo '**************Mise à jour du système (peut etre très long)**************';
    echo shell_exec('sudo touch /var/log/auth.log');
    echo 'Mise à jour des sources';
    echo shell_exec('sudo apt-get update');
    echo "OK\n";
    echo 'Mise à jour des paquets';
    echo shell_exec('sudo apt-get dist-upgrade');
    echo "OK\n";
    echo 'Redemarrage fail2ban';
    echo shell_exec('sudo service fail2ban restart');
    echo "OK\n";
}
Beispiel #2
0
    $cron->save();
    $cron = cron::byClassAndFunction('plugin', 'cron30');
    if (!is_object($cron)) {
        echo "Création de plugin::cron30\n";
        $cron = new cron();
    }
    $cron->setClass('plugin');
    $cron->setFunction('cron30');
    $cron->setSchedule('*/30 * * * * *');
    $cron->setTimeout(60);
    $cron->save();
    $dynamic_apache_path = dirname(__FILE__) . '/../core/config/apache_jeedom_dynamic_rules';
    if (!file_exists($dynamic_apache_path)) {
        touch($dynamic_apache_path);
    }
    if (jeedom::isCapable('sudo')) {
        if (!file_exists('/var/log/auth.log')) {
            exec('sudo touch /var/log/auth.log');
            exec('sudo service fail2ban restart');
        }
        exec('sudo service cron restart');
    }
    cache::deleteBySearch('widgetHtml');
    cache::deleteBySearch('cmdWidgetdashboard');
    cache::deleteBySearch('cmdWidgetmobile');
    cache::deleteBySearch('scenarioHtmldashboard');
    config::save('hardware_name', '');
} catch (Exception $e) {
    echo "Error : ";
    echo $e->getMessage();
}
Beispiel #3
0
 public static function cron()
 {
     if (config::byKey('market::allowDNS') == 1 && !network::test('external', false, 120)) {
         network::dns_start();
     }
     if (config::byKey('network::disableMangement') == 1) {
         return;
     }
     if (!jeedom::isCapable('sudo')) {
         return;
     }
     try {
         $gws = self::checkGw();
         if (count($gws) == 0) {
             log::add('network', 'error', __('Aucune interface réseau trouvée, je redemarre tous les réseaux', __FILE__));
             exec('sudo service networking restart');
             return;
         }
         foreach ($gws as $iface => $gw) {
             if ($gw['ping'] != 'ok') {
                 if (strpos($iface, 'tun') !== false) {
                     continue;
                 }
                 if (strpos($iface, 'br0') !== false) {
                     continue;
                 }
                 log::add('network', 'error', __('La passerelle distante de l\'interface ', __FILE__) . $iface . __(' est injoignable, je la redemarre pour essayer de corriger', __FILE__));
                 exec('sudo ifdown ' . $iface);
                 sleep(5);
                 exec('sudo ifup --force ' . $iface);
             }
         }
     } catch (Exception $e) {
     }
 }
Beispiel #4
0
 public static function updateSystem()
 {
     if (config::byKey('update::autoSystem') == 1 && jeedom::isCapable('systemUpdate') && jeedom::isCapable('sudo')) {
         $output = array();
         $return_val = -1;
         log::remove('system_update');
         exec('sudo apt-get -y update >> ' . log::getPathToLog('system_update') . ' 2>&1', $output, $return_val);
         if ($return_val != 0) {
             log::add('update', 'error', __('Echec de la mise à jour des dépot, veuillez consulter la log system_update', __FILE__));
             return;
         }
         exec('sudo DEBIAN_FRONTEND=noninteractive apt-get -q -y -o "Dpkg::Options::=--force-confdef" -o "Dpkg::Options::=--force-confold" dist-upgrade >> ' . log::getPathToLog('system_update') . ' 2>&1', $output, $return_val);
         if ($return_val != 0) {
             log::add('update', 'error', __('Echec de la mise à jour des paquets, veuillez consulter la log system_update', __FILE__));
             return;
         }
         exec('sudo apt-get -y autoremove >> ' . log::getPathToLog('system_update') . ' 2>&1', $output, $return_val);
         if ($return_val != 0) {
             log::add('update', 'error', __('Echec su nettoyage des paquets, veuillez consulter la log system_update', __FILE__));
             return;
         }
         exec('sudo service cron restart');
     }
 }
Beispiel #5
0
           </div>
       </div>
   </div>
</div>

<div class="row">
    <div class="col-sm-6">
        <legend>{{Gestion avancée}}</legend>
        <div class="form-group expertModeVisible has-error">
            <label class="col-xs-4 control-label">{{Désactiver la gestion du réseaux par Jeedom}}</label>
            <div class="col-xs-8">
                <input type="checkbox" class="configKey bootstrapSwitch" data-l1key="network::disableMangement" />
            </div>
        </div>
        <?php 
if (!jeedom::isCapable('wifi') || !jeedom::isCapable('ipfix')) {
    echo '<div class="alert alert-warning">{{Fonctionalité non disponible sur votre système}}</div>';
} else {
    if (!network::canManageNetwork()) {
        echo '<div class="alert alert-warning">{{Jeedom ne peut gérer le réseau veuillez vérifier si}} : <br/>';
        echo '- {{ifenslave n\'est pas installé, pour l\'installer, faire en ssh : sudo apt-get install ifenslave-2.6}} <br/>';
        echo '- {{le module bonding n\'est pas chargé, en ssh regarder si il y a bien "bonding" dans /etc/modules sinon l\'ajouter à la fin et redémarrer}}';
        echo '</div>';
    } else {
        ?>
           <div class="form-group">
            <label class="col-xs-4 control-label">{{Adresse MAC}}</label>
            <div class="col-xs-8">
                <span class="label label-default" style="font-size:1em;"><?php 
        echo network::getMac('bond0');
        ?>