Avatar
🏃
achat android animaux anticor apple arnaque association biot bluesky bricolage canoe canyoning ccesoir chateau choisir-velo cinema citation citroen-c8 commission configuration consomacteur course courses courses-dobstacles cuisine cv-pro dawarich debian dell depannage dev docker don dsi désinformation economie facebook fedora firewall football garmin gohugo gravel hebergement home-assistant hugo humhub inondation internets iphone-ipad jeux justice kali linux livre loisirs mac marathon mastodon mecanique misere momes-dazur musee-loisirs nice-matin non-classe oracle padel petition peugeot-206 peugeot-307 peugeot-406 photos php politique postgresql pro proxmox randonnee randonnée raspberry redhat redis republique-numerique reseaux-sociaux sante-internets sante-loisirs securite-internets self-hosted ski ski de randonnée sortir soutien spam sport-biot-2 sports stockage theatre trail twitter/x twitter/x ubuntu velo velo-biot velo-sur-biot via-ferrata ville villes visites voyage vtt windows wordpress wordpress-fr xbox élections municipales 0189xxxxxx 10-km 10-miles 10km 12-km 140 2014 2kv 307 406 406-hdi 920 920xt 930 935 abus acpi actif azur adb adhesion adsl agay age air aix-en-provence alcatel allianz allianz-riviera alpe-dhuez alpes-maritimes alpilles alternateur amap amazon amp anaconda analyse analytics android animaux anote anthea anthea-fr antibes anticor antutu apache2 apn apple applepi-baker april arcep arfi arnaque aroooo aseb-am asics association assurantprotection.fr asterisk asus asus-zenfone atos atsemtex audit auron authentique-fr autoroute avis awesome-note awk awox baignade balade balade-fr barcelonnette barnier base-de-donnee bash basket-ball belt benchmark bento bentomedia betrail biellette bigreen bilan bilan professionnel bilan sportif bilan-fr bio biot biot-fr biot-vernir bitdefender bkl-l09 blacklist blender blockchain-fr blog blogger-com bluesky bonifacio bormes-les-mimosas bot brague braun breil-sur-roya brew bricolage brm brm200 bruxelles bueil bug c cadolive cagnes-sur-mer caille caisse-depargne calanques calencon calendrier camargue cannes cannes-fr canoe cantabrie canyon canyoning cap-dantibes cardio carlit carnaval-de-nice carnaval-de-nice-fr carros carroz casa castellane castellar cat catamaran caussols ccbot ccc cdisplay ceinture cevennes chamonix chateau chaussures cheiron choisir velo cinema circuit cisco citation citrix classement claudebot clignotant cloud cloud-act cloud-personnel cnews codegouv col connecté col de greoliere col-connecte col-de-la-madone col-de-turini colmars competition compression configuration connect consomacteur conspiracy watch convergence-azureenne coreos coronarivus coronavirus corse courmes course course-a-pied course-dobstacle course-dobstacles course-dorientation course-fr coursegoules courses-2 covid covid-19 cozy-cloud cozytouch cpu critique cross cuda cuenod curl cursor dansup dark-web data dataforseo dawarich dawarich.app day-journal debian decathlon decodex deletefacebook dell dello-sciliar-catinaccio delphi demi-yasso derby-de-la-meije developpement developper-tools-access diag diario diaro diaspora digikam digiposte distribution docker docteur-gsm-com dolceacqua dolomites domolites domotique don dourgne dsi duranus débats désinformation ecologie economie education el-capitan elasticsearch elk elm327 email endurain enphase ensol entreprises entretien epidemie escape-game escarene escroquerie espagne estrosi europe eurovelo evasion-fiscale evolution-a-faire exiftool export eze f-f-a facebook facture facture-deau-fr fakenews falicon fan fayence fedora fenix 7 ffa ffmpeg filebeat fillion fillon film-bon film-moyen filtre-a-gazole filtre-pollen fire firewall fittrackee folder foodwatch footing for forerunner forerunner-935 forerunner-945 forerunner-955 forgejo framasoft framasphere france culture france-3 france-soir fraude fraude-fiscale free free-mobile freebox frejus funchal gafams gaillac garageband garmin garmin-connect gavarnie gcc gelas geodes gilette git github glance gmail goaccess gohugo google google-analytic google-analytics google-search-console gopro gorbio gotify goudurix gouffre gourdon gourdon-fr gptbot gpx grafana grasse gravel graxx greoliere greolieres greolieres-les-neiges grub gréolières gtest guillon hadopi haproxy hautpoul hebergement high-trail-vanoise hintertux hipay hipay-com historique-des-dons holdup home-assistant homeassistant hommage honeywell honor hop howto htv huawei hugo huile-direction-assiste humhub ia ibm iconservicesagent ie ign ilonse imagento imageoptim imagneto immich imovie import impots indent injecteur inondation insee insta360 installation internet intimidation ipad ipad-argus iphone iphoto iptables isola-2000 issue italie itra itunes j2s jaime-courir java javascript jeedom jenkins jetpack jeux jeux-de-sophia jeux-de-sophia-antipolis joplin joseph journey jpegoptim juns jupyter justice kali karer-pass kayak kernel kibana kies-app kilometre-vertical kisskissbankbank kiwix klaxon kodi kokopelli korben la-brague la-capelette la-grave-de-peille la-poste la-quadrature-du-net la-vie lac-de-vens langage lantosque lapeyre laquadrature latemar lateral lautrec lcd le-monde leon les-cammazes les-visiteurs-du-soir let's encrypt lets-encrypt levens libreoffice libvirt lightmd linux liste livebox livre logement logiciel logstash loi-numerique lombricomposteur luberon lulu mac mac-os macjournal macos macos-high-sierra madere malade malware mamp mandelieu maps marathon marche mariadb markdown marseille mastodon matomo matomo-analytics matosdon matrix mazamet mcafee mecanique mediapart meduses meije meltdown memo menuiserie mercantour merci-michel mermaid meta metricbeat microsoft-teams migration misere mkdocs module mogrify mojave monsanto montagne-noire montagne-noire-fr montauroux motionpro mougins moulinet mouton msf mud-day mud-day-fr munin mysql mytf1 mytf1-fr mywellness myzone naiad naiad2020 natation natation-libre nature nautipolis neige netamo netatmo nextcloud nginx nice nice-fr nice-matin notes nsinvalidargumentexception ntfs nuxit nvidia objective-see obsolescence-programmee obstacle occ occasion odbii ok-google ollama olvid onedrive oopad open open-data open-sky open-source open-source-experience opencv opendata opensky opensky-a-valbonne opio oracle-linux orange origine-cycles orsiere osm france osmc oss-paris osx osxp osxp2024 osxp2025 outlook owncloud pac paca padel panorama panoramique paradisdiscount-com parc-du-paradou parc-naturel-dello-sciliar-catinaccio paris pascal paul paypal pdf peillon peinture petition peugeot peugeot-307 phare photo photon photos photovoltaique php phpnet phpnet-org pichauris pigeon pinterest pip piscine planning play-store plongee plu plugin pluviometrie pneu politique pollution polylang postfix postgresql ppri prejuges preparation print prix programmation prom-classic prometheus provence proxmox pssh publicite purge pyrenees python python3 qnap quartier qwant raid rameur-dinterieur rancheros randonnee randonnee-2 randonnees randonnée raspberry recette recette-fr redbysfr redhat redis redmi reparartion reparation reseau-sociaux resideo rest-api resultat reunion revue-de-presse rgpd rimplas rock64 root roquebilliere roubion rouret row rsyslog rt-france rubitrack rue89 saint-amancet-fr saint-avit saint-fereol saint-jeannet saint-vallier-de-thiey saintetic salade-nicoise-fr salle-serveur salon samsung san-remo sante sauter scop sd-card securite security.txt sed selection self-hosted semaine-de-la-critique semi semi-marathon semi-marathon-fr sentier seranon server-git serveur service-public siagne sidobre sierra signal sip ski ski de randonnée ski-de-randonnee skred skype slack smart-home smartphone smsc snap sommets sondage sondage-en-ligne sophia-antipolis soreze soreze-fr sortie-en-famille sospel soual spam spartan spartan-race spartan-race-fr spartian spectre sport sql sqlite ssd stable-diffusion stade station-meteo statistique statistiques stockage strava suisse suivi summary surf svn swap swarm syslog systemd tanneron tapform tarif tarn tarn-fr taxes telerama television temp temperature template templier tende tennis tennis-de-table tensorflow test testeur tests textwrangler theatre theoule-sur-mer thorenc thunderbird thunderbirds tignes tor tour-des-sangliers tour-du-sanglier tourisme tourrettes-sur-loup trail trail-de-la-vesubie transposh transvesubienne trashbusters travail travaux trial trifecta turbie tux tuxedo tuxedo-computer tuya twitter tyrol ubaye ubuntu ufc-que-choisir ultra uniq unknown unroot update urbain urban-trail urbanbiker utcam utelle utmb vae valbonne valeo vallee-des-merveilles valloire vallon-des-horts valmasque var vaucluse vaultwarden vauplane vegay velo velotaf vence ventoux veolia verdon vesubie vidange video villeneuve-loubet vim virtual-box virtualbox virus vma vmware vol voyage vpn vps vtc vtt wanderer wannacry webalizer wget whatsapp wifi wikimedia-foundation wikipedia wiko windows wine woocommerce wordfence wordpress x xbmc xbox yahoo-mail yolo zenfone zenpad zigbee
  • Je viens de faire un nouveau programme en Python afin de mettre les données de ENEDIS sur MariaDB & Python. Pour avoir les données de ENEDIS il faut aller sur https://mon-compte-particulier.enedis.fr/home-connectee/ et se faire un compte. Puis relier ce compte à la facture EDF … Je vais pas vous mentir c’est un peu de parcours du combattant. J’ai du faire appel à plusieurs fois au support afin que le lien puisse se faire. Misère.

    cursor grafana import print row Created Mon, 13 Apr 2020 00:00:00 +0000
  • Pour utiliser le script il faut:

    • MariaDB
    • Python
    • Grafana.

    Slack permet le téléchargement d’un fichier CSV ( access_logs.csv ), dont les données sont les suivantes :

    • Date Accessed,
    • User Agent - Simple,
    • User Agent - Full,
    • IP Address,
    • Number of Logins,
    • Last Date Accessed

    Petit rappel sur l’ajout d’une database et d’un utilisateur :

    $ sudo mysql -u root
    
    MariaDB [(none)]> create database SLACK;
    
    MariaDB [(none)]> CREATE USER 'slack'@'localhost' IDENTIFIED BY 'slack';
    
    MariaDB [(none)]> GRANT ALL PRIVILEGES ON SLACK.* TO 'slack'@'localhost';
    
    MariaDB [(none)]> FLUSH PRIVILEGES;
    
    MariaDB [(none)]> \quit
    Bye

    Petit rappel aussi en python pour télécharger une classe non disponible :

    grafana python slack Created Wed, 08 Apr 2020 00:00:00 +0000
  • La première étape est le téléchargement du soft sur : https://www.citrix.com/downloads/workspace-app/linux/workspace-app-for-linux-latest.html .

    Le lien direct : https://downloads.citrix.com/16914/icaclient_19.12.0.19_amd64.deb

    $ sudo dpkg -i icaclient_19.12.0.19_amd64.deb 
    
    Sélection du paquet icaclient précédemment désélectionné.
    (Lecture de la base de données... 370627 fichiers et répertoires déjà installés.)
    Préparation du dépaquetage de icaclient_19.12.0.19_amd64.deb ...
    Dépaquetage de icaclient (19.12.0.19) ...
    Paramétrage de icaclient (19.12.0.19) ...
    Traitement des actions différées (« triggers ») pour gnome-menus (3.13.3-11ubuntu1.1) ...
    Traitement des actions différées (« triggers ») pour bamfdaemon (0.5.3+18.04.20180207.2-0ubuntu1) ...
    Rebuilding /usr/share/applications/bamf-2.index...
    Traitement des actions différées (« triggers ») pour desktop-file-utils (0.23-1ubuntu3.18.04.2) ...
    Traitement des actions différées (« triggers ») pour mime-support (3.60ubuntu1) ...
    
    $ sudo cp /usr/share/ca-certificates/mozilla/*.crt /opt/Citrix/ICAClient/keystore/cacerts/

    Ensuite il faut faire la congiguration via :

    citrix ubuntu Created Tue, 07 Apr 2020 00:00:00 +0000
  • Ma version de Ubuntu :

    $ cat /etc/*release | grep "DISTRIB"
    DISTRIB_ID=Ubuntu
    DISTRIB_RELEASE=18.04
    DISTRIB_CODENAME=bionic
    DISTRIB_DESCRIPTION="Ubuntu 18.04.4 LTS"

    Je vais donc faire un petit test, d’abord l’installation de de virtualbox 5 à la palce de virtualbox 6.1 . Et ensuite l’installation de vagrant :

    $ sudo apt-get install virtualbox
    Lecture des listes de paquets... Fait
    Construction de l'arbre des dépendances       
    Lecture des informations d'état... Fait
    Les paquets suivants ont été installés automatiquement et ne sont plus nécessaires :
      gconf-service gconf-service-backend gconf2 gconf2-common libappindicator1 libcurl3-nss libdbusmenu-gtk4 libfwup1 libgconf-2-4 libindicator7
    Veuillez utiliser « sudo apt autoremove » pour les supprimer.
    Les paquets supplémentaires suivants seront installés : 
      libgsoap-2.8.60 libvncserver1 virtualbox-dkms virtualbox-qt
    Paquets suggérés :
      vde2 virtualbox-guest-additions-iso
    Les paquets suivants seront ENLEVÉS :
      virtualbox-6.1
    Les NOUVEAUX paquets suivants seront installés :
      libgsoap-2.8.60 libvncserver1 virtualbox virtualbox-dkms virtualbox-qt
    0 mis à jour, 5 nouvellement installés, 1 à enlever et 0 non mis à jour.
    ...
    $ sudo apt-get install vagrant
    Lecture des listes de paquets... Fait
    Construction de l'arbre des dépendances       
    Lecture des informations d'état... Fait
    Les paquets suivants ont été installés automatiquement et ne sont plus nécessaires :
      gconf-service gconf-service-backend gconf2 gconf2-common libappindicator1 libcurl3-nss libdbusmenu-gtk4 libfwup1 libgconf-2-4 libindicator7
    Veuillez utiliser « sudo apt autoremove » pour les supprimer.
    Les paquets supplémentaires suivants seront installés : 
      augeas-lenses bsdtar cpu-checker cryptsetup cryptsetup-bin db-util db5.3-util dmeventd extlinux hfsplus ipxe-qemu ipxe-qemu-256k-compat-efi-roms keyutils
      ldmtool libafflib0v5 libarchive-tools libaugeas0 libbfio1 libcacard0 libconfig9 libdevmapper-event1.02.1 libewf2 libfdt1 libguestfs-hfsplus libguestfs-perl
      libguestfs-reiserfs libguestfs-tools libguestfs-xfs libguestfs0 libhfsp0 libhivex0 libintl-perl libintl-xs-perl libiscsi7 libldm-1.0-0 liblvm2app2.2
      liblvm2cmd2.02 libnfsidmap2 librbd1 librdmacm1 libsodium-dev libspice-server1 libstring-shellquote-perl libsys-virt-perl libtirpc1 libtsk13
      libusbredirparser1 libvirt0 libwin-hivex-perl libxen-4.9 libxenstore3.0 libxml-xpath-perl lsscsi lvm2 lzop mdadm msr-tools mtools nfs-common
      nfs-kernel-server osinfo-db qemu-block-extra qemu-system-common qemu-system-x86 qemu-utils reiserfsprogs rpcbind ruby-bcrypt-pbkdf ruby-blankslate
      ruby-builder ruby-childprocess ruby-domain-name ruby-erubis ruby-excon ruby-ffi ruby-fog-core ruby-fog-json ruby-fog-libvirt ruby-fog-xml ruby-formatador
      ruby-http-cookie ruby-i18n ruby-json ruby-libvirt ruby-listen ruby-log4r ruby-mime-types ruby-mime-types-data ruby-multi-json ruby-net-scp ruby-net-sftp
      ruby-net-ssh ruby-netrc ruby-nokogiri ruby-oj ruby-pkg-config ruby-rb-inotify ruby-rbnacl ruby-rest-client ruby-sqlite3 ruby-unf ruby-unf-ext scrub seabios
      sgabios sharutils sleuthkit supermin syslinux syslinux-common vagrant-libvirt xfsprogs zerofree
    Paquets suggérés :
      augeas-doc augeas-tools libguestfs-gfs2 libguestfs-jfs libguestfs-nilfs libguestfs-rescue libguestfs-rsync libguestfs-zfs thin-provisioning-tools
      dracut-core floppyd open-iscsi watchdog vde2 ovmf ruby-builder-doc ruby-activesupport sharutils-doc autopsy mac-robber xfsdump quota
    Les NOUVEAUX paquets suivants seront installés :
      augeas-lenses bsdtar cpu-checker cryptsetup cryptsetup-bin db-util db5.3-util dmeventd extlinux hfsplus ipxe-qemu ipxe-qemu-256k-compat-efi-roms keyutils
      ldmtool libafflib0v5 libarchive-tools libaugeas0 libbfio1 libcacard0 libconfig9 libdevmapper-event1.02.1 libewf2 libfdt1 libguestfs-hfsplus libguestfs-perl
      libguestfs-reiserfs libguestfs-tools libguestfs-xfs libguestfs0 libhfsp0 libhivex0 libintl-perl libintl-xs-perl libiscsi7 libldm-1.0-0 liblvm2app2.2
      liblvm2cmd2.02 libnfsidmap2 librbd1 librdmacm1 libsodium-dev libspice-server1 libstring-shellquote-perl libsys-virt-perl libtirpc1 libtsk13
      libusbredirparser1 libvirt0 libwin-hivex-perl libxen-4.9 libxenstore3.0 libxml-xpath-perl lsscsi lvm2 lzop mdadm msr-tools mtools nfs-common
      nfs-kernel-server osinfo-db qemu-block-extra qemu-system-common qemu-system-x86 qemu-utils reiserfsprogs rpcbind ruby-bcrypt-pbkdf ruby-blankslate
      ruby-builder ruby-childprocess ruby-domain-name ruby-erubis ruby-excon ruby-ffi ruby-fog-core ruby-fog-json ruby-fog-libvirt ruby-fog-xml ruby-formatador
      ruby-http-cookie ruby-i18n ruby-json ruby-libvirt ruby-listen ruby-log4r ruby-mime-types ruby-mime-types-data ruby-multi-json ruby-net-scp ruby-net-sftp
      ruby-net-ssh ruby-netrc ruby-nokogiri ruby-oj ruby-pkg-config ruby-rb-inotify ruby-rbnacl ruby-rest-client ruby-sqlite3 ruby-unf ruby-unf-ext scrub seabios
      sgabios sharutils sleuthkit supermin syslinux syslinux-common vagrant vagrant-libvirt xfsprogs zerofree
    0 mis à jour, 114 nouvellement installés, 0 à enlever et 0 non mis à jour.
    Il est nécessaire de prendre 30,5 Mo dans les archives.

    Ensuite téléchargement de la VM our Valgrant : https://developer.microsoft.com/en-us/microsoft-edge/tools/vms/

    ie libvirt ubuntu Created Tue, 07 Apr 2020 00:00:00 +0000
  • Les prérequis :

    • Python : Je fais du python3.
    • MariaDB
    • Grafana : J’utilise la version 5.0.0.
    • Linux : J’utilise Ubuntu 18

    Voici donc ce que j’ai fait pour avoir mes données sous Grafana.

    Etape 1 :

    Je vais sur Twitter Analytics : https://analytics.twitter.com/about et je télécharge les fichiers CSV (By Tweet, et non By Day). Normalement j’ai un fichier CSV par mois.

    Etape 2 :

    Je concatène tous les fichiers CSV dans un seul fichier en supprimant les entetes :

    grafana twitter Created Wed, 01 Apr 2020 00:00:00 +0000
  • J’ai fait une version 2 qui permet de voir l’intéraction avec les utilisateurs : les sources sont disponibles ici : https://github.com/farias06/Grafana/blob/master/Twitter_CSV_insert_v2.py )

    import csv
    from datetime import datetime
    import mysql.connector
    import re
    from mysql.connector import errorcode
    from mysql.connector import (connection)
    
    cnx = connection.MySQLConnection(user='twitter', password='twitter',
                                     host='127.0.0.1',
                                     database='TWITTERS')
    cursor = cnx.cursor();
    now = datetime.now().date();
    
    #cursor.execute("DROP TABLE TWITTER;");
    #cursor.execute("CREATE TABLE TWITTER (IDENTIFIANT varchar(30) UNIQUE,PERMALIEN varchar(200),TEXTE varchar(500),DATE datetime,IMPRESSION float,ENGAGEMENT float,TAUX_ENGAGEMENT float, RETWEET float,REPONSE float, JAIME float, CLIC_PROFIL float, CLIC_URL float, CLIC_HASTAG float, OUVERTURE_DETAIL float, CLIC_PERMALIEN float, OUVERTURE_APP int, INSTALL_APP int, ABONNEMENT int, EMAIL_TWEET int, COMPOSER_NUMERO int, VUE_MEDIA int, ENGAGEMENT_MEDIA int);");
    #cursor.execute("CREATE TABLE TWITTER_USER (USER varchar(20),IDENTIFIANT varchar(30), DATE datetime, PRIMARY KEY (USER,IDENTIFIANT));");
    cursor.execute("DELETE FROM TWITTER_USER")
    cursor.execute("DELETE FROM TWITTER");
    cnx.commit();
    
    with open('input.csv', 'r') as csvfile:
        reader = csv.reader(csvfile, quotechar='"')
        for row in reader:
            MyDate=row[3].replace(" +0000", ":00")
            MyTexte=row[2].replace("'", " ")
            MyTexte=MyTexte.replace(",", " ")
            MyC4=row[4].replace("Infinity", "0")
            MyC5=row[5].replace("Infinity", "0")
            MyC6=row[6].replace("Infinity", "0")
            MyC6=MyC6.replace("NaN", "0")
            MyC7=row[7].replace("Infinity", "0")
            User = re.findall(r'(?<=\W)[@]\S*', MyTexte)
            for MyUser in User:
                try :
                    cursor.execute("INSERT INTO TWITTER_USER (IDENTIFIANT,USER,DATE) VALUES ('"+row[0]+"','"+MyUser+"','"+MyDate+"');");
                except mysql.connector.Error as err:
                    print("Something went wrong: {}".format(err))
                    if err.errno == errorcode.ER_BAD_TABLE_ERROR:
                        print("Creating table TWITTER_USER")
                    else:
                        None
            try :
                cursor.execute("INSERT INTO TWITTER (IDENTIFIANT,PERMALIEN,TEXTE,DATE,IMPRESSION,ENGAGEMENT,TAUX_ENGAGEMENT,RETWEET,REPONSE, JAIME, CLIC_PROFIL, CLIC_URL, CLIC_HASTAG, OUVERTURE_DETAIL, CLIC_PERMALIEN, OUVERTURE_APP, INSTALL_APP, ABONNEMENT, EMAIL_TWEET, COMPOSER_NUMERO, VUE_MEDIA, ENGAGEMENT_MEDIA) VALUES ('"+row[0]+"', '"+row[1]+"', '"+MyTexte+"','"+MyDate+"', "+MyC4+", "+MyC5+", "+MyC6+", "+MyC7+", "+row[8]+","+row[9]+", "+row[10]+", "+row[11]+","+row[12]+","+row[13]+","+row[14]+","+row[15]+","+row[16]+","+row[17]+","+row[18]+","+row[19]+","+row[20]+","+row[21]+");");
            except mysql.connector.Error as err:
                print("Something went wrong: {}".format(err))
                if err.errno == errorcode.ER_BAD_TABLE_ERROR:
                    print("Creating table TWITTER")
                else:
                    None
    
    cnx.commit();
    cursor.close();
    cnx.close();

    Il faut donc faire la requête suivante :

    analytics grafana twitter Created Wed, 01 Apr 2020 00:00:00 +0000
  • Le projet est disponible ici : https://github.com/skilion/onedrive .

    Voici les phases de l’installation :

    $ sudo apt install libcurl4-openssl-dev
    ...
    $ sudo apt install libsqlite3-dev
    ...
    $ sudo snap install --classic dmd && sudo snap install --classic dub
    ...
    $ git clone https://github.com/skilion/onedrive.git
    ...
    $ cd onedrive/
    ...
    $ make
    echo v1.1.3 >version
    dmd -g -ofonedrive -O -L-lcurl -L-lsqlite3 -L-ldl -J. src/config.d src/itemdb.d src/log.d src/main.d src/monitor.d src/onedrive.d src/qxor.d src/selective.d src/sqlite.d src/sync.d src/upload.d src/util.d
    src/sqlite.d(142): Deprecation: foreach: loop index implicitly converted from size_t to int
    sed "s|@PREFIX@|/usr/local|g" onedrive.service.in > onedrive.service
    $ sudo make install
    ...
    $ mkdir -p ~/.config/onedrive
    ...
    $ cp ./config ~/.config/onedrive/config
    ...

    Ensuite il suffit de lancer onedrive :

    onedrive ubuntu Created Wed, 01 Apr 2020 00:00:00 +0000
  • Les commandes pour l’installation :

    $ sudo apt install flatpak
    Lecture des listes de paquets... Fait
    Construction de l'arbre des dépendances       
    Lecture des informations d'état... Fait
    Les paquets supplémentaires suivants seront installés : 
      libostree-1-1 xdg-desktop-portal xdg-desktop-portal-gtk
    Les NOUVEAUX paquets suivants seront installés :
      flatpak libostree-1-1 xdg-desktop-portal xdg-desktop-portal-gtk
    0 mis à jour, 4 nouvellement installés, 0 à enlever et 13 non mis à jour.
    Il est nécessaire de prendre 1 313 ko dans les archives.
    Après cette opération, 5 898 ko d'espace disque supplémentaires seront utilisés.
    Souhaitez-vous continuer ? [O/n] O
    ...
    $ flatpak remote-add --if-not-exists flathub https://flathub.org/repo/flathub.flatpakrepo
    
    $ flatpak install flathub org.nextcloud.Nextcloud
    Required runtime for org.nextcloud.Nextcloud/x86_64/stable (runtime/org.kde.Platform/x86_64/5.12) found in remote flathub
    Do you want to install it? [y/n]: y
    Installing in system:
    org.kde.Platform/x86_64/5.12                       flathub 8337138165ca
    org.freedesktop.Platform.VAAPI.Intel/x86_64/18.08  flathub 227f12933709
    org.freedesktop.Platform.html5-codecs/x86_64/18.08 flathub b7006caaf6a7
    org.kde.Platform.Locale/x86_64/5.12                flathub b76e501f9811
    org.nextcloud.Nextcloud/x86_64/stable              flathub 4755c241adb7
      permissions: ipc, network, wayland, x11, dri
      file access: host, xdg-config/kdeglobals:ro, xdg-run/Nextcloud:create, xdg-run/dconf, ~/.config/dconf:ro
      dbus access: com.canonical.AppMenu.Registrar, org.freedesktop.Notifications, org.freedesktop.secrets, org.kde.StatusNotifierWatcher
    org.nextcloud.Nextcloud.Locale/x86_64/stable       flathub f098e4785813
    Is this ok [y/n]: y
    Installing: org.kde.Platform/x86_64/5.12 from flathub
    [####################] 1415 metadata, 27766 content objects fetched; 404772 KiB transferred in 128 seconds
    Now at 8337138165ca.
    Installing: org.freedesktop.Platform.VAAPI.Intel/x86_64/18.08 from flathub
    [####################] 4 metadata, 2 content objects fetched; 1783 KiB transferred in 0 seconds
    Now at 227f12933709.
    Installing: org.freedesktop.Platform.html5-codecs/x86_64/18.08 from flathub
    [####################] 22 metadata, 127 content objects fetched; 3111 KiB transferred in 1 seconds
    Now at b7006caaf6a7.
    Installing: org.kde.Platform.Locale/x86_64/5.12 from flathub
    [####################] 33 metadata, 196 content objects fetched; 5085 KiB transferred in 1 seconds
    Now at b76e501f9811.
    Installing: org.nextcloud.Nextcloud/x86_64/stable from flathub
    [####################] 78 metadata, 221 content objects fetched; 4049 KiB transferred in 2 seconds
    Now at 4755c241adb7.
    Installing: org.nextcloud.Nextcloud.Locale/x86_64/stable from flathub
    [####################] 7 metadata, 2 content objects fetched; 5 KiB transferred in 0 seconds
    Now at f098e4785813.
    
    $ flatpak run org.nextcloud.Nextcloud
    Gtk-Message: 14:04:44.389: Failed to load module "canberra-gtk-module"
    Gtk-Message: 14:04:44.389: Failed to load module "canberra-gtk-module"

    On a donc la fenetre suivante qui s’ouvre, et il suffit de faire la configuration :

    nextcloud Created Tue, 31 Mar 2020 00:00:00 +0000
  • Je ne sais pas comment faire la mesure via un script sur la crontab … Les données que j’ai sont différentes du CPU History sur Ubuntu. Actuellement j’utilise :

    "grep 'cpu ' /proc/stat | awk '{usage=($2+$4)*100/($2+$4+$5)"

    mais j’ai aussi essayé avec le découpage dans top :

    top -bn1 | grep "Cpu(s)" | \
               sed "s/.*, *\([0-9.]*\)%* id.*/\1/" | \
               awk '{print 100 - $1"%"}'

    UPDATE C’est bon j’ai trouvé la bonne commande pour avoir le CPU usage : CPU_USAGE=$(awk ‘{u=$2+$4; t=$2+$4+$5; if (NR==1){u1=u; t1=t;} else print ($2+$4-u1) * 100 / (t-t1) “%”; }’ <(grep ‘cpu ’ /proc/stat) <(sleep 1;grep ‘cpu ’ /proc/stat))

    tuxedo-computer Created Sun, 22 Mar 2020 00:00:00 +0000
  • Voici donc le script que j’ai fait :

    #!/bin/bash
    
    #
    # MariaDB [mysql]> create database CPU;
    # Query OK, 1 row affected (0.00 sec)
    
    # MariaDB [(none)]> CREATE USER 'arias'@'localhost' IDENTIFIED BY 'arias';
    # Query OK, 0 rows affected (0.00 sec)
    
    # MariaDB [(none)]> GRANT USAGE ON *.* TO 'arias'@'localhost' IDENTIFIED BY 'arias';
    # Query OK, 0 rows affected (0.00 sec)
    
    # MariaDB [(none)]>  GRANT ALL privileges ON CPU.* TO 'arias'@'localhost';
    # Query OK, 0 rows affected (0.00 sec)
    
    # MariaDB [(none)]> FLUSH PRIVILEGES;
    # Query OK, 0 rows affected (0.00 sec)
    #
    #
    #mysql -u root -e "CREATE DATABASE CPU;"
    #mysql -u root -e "USE CPU; CREATE TABLE information (date datetime, cpu float, fanId int, rawFanDuty int, fanDuty float, remoteTemp int, localTemp int);"
    
    CPU_USAGE=$(awk '{u=$2+$4; t=$2+$4+$5; if (NR==1){u1=u; t1=t;} else print ($2+$4-u1) * 100 / (t-t1) "%"; }' <(grep 'cpu ' /proc/stat) <(sleep 1;grep 'cpu ' /proc/stat))
    DATE=$(date "+%Y-%m-%d %H:%M:%S")
    CPU_USAGE_2=$(echo $CPU_USAGE | sed 's/%//g' )
    /usr/bin/tuxedofancontrol --show > /tmp/tuxedofancontrol.out
    FANID=$(cat /tmp/tuxedofancontrol.out | grep "fanId" | awk '{print $2}' | sed 's/,//g') 
    RAWFANDUTY=$(cat /tmp/tuxedofancontrol.out | grep "rawFanDuty" | awk  '{print $2}' | sed 's/,//g' )
    FANDUTY=$(cat /tmp/tuxedofancontrol.out | grep "fanDuty" | awk '{print $2}' | sed 's/,//g')
    REMOTETEMP=$(cat /tmp/tuxedofancontrol.out | grep "remoteTemp:" | awk '{print $2}' | sed 's/,//g')
    LOCALTEMP=$(cat /tmp/tuxedofancontrol.out | grep "localTemp:" | awk '{print $2}' | sed 's/,//g' )
    
    if [ ! -z $FANID ]
    then
            SQL="USE CPU; INSERT INTO information (date, cpu, fanId, rawFanDuty, fanDuty, remoteTemp, localTemp) VALUES ('$DATE',$CPU_USAGE_2,$FANID,$RAWFANDUTY,$FANDUTY,$REMOTETEMP,$LOCALTEMP);"
    else
            SQL="USE CPU; INSERT INTO information (date, cpu) VALUES ('$DATE',$CPU_USAGE_2);"
    fi
    
    echo $SQL > /tmp/lastsql.out
    mysql -u root -e "$SQL"

    C’est assez simple, je prends la date et l’utilisation du CPU. Et aussi je note toutes les informations de tuxedofancontrol. J’ai mis le script toutes les 2 minutes dans ma crontab, ensuite je ferai un script pour Grafana.

    cpu fan tuxedo Created Sat, 21 Mar 2020 00:00:00 +0000