Aller au contenu
bobjouy

[App Tierce] Teslamate : datalogger local et gratuit

Messages recommandés

Il y a 11 heures, bobjouy a dit :

Oui c'est en voyant cette issue aujourd'hui que j'ai pensé à changer la variable d'environnement. Du coup j'ai commenté 👍

...mais comme a dit @MikeFr les timeout ou le manque de CPU c'est plutôt le symptôme que le problème. Il y a des chances qu'il y ait besoin d'optimiser une ou plusieurs requêtes. Je ne suis pas expert en SQL, mais certaines font un peu peur:

 

Citation

WITH data AS (
    SELECT
        (round(extract(epoch FROM start_date) - 10) * 1000) AS start_date_ts,
                (round(extract(epoch FROM end_date) + 10) * 1000) AS end_date_ts,
                start_date,
                end_date,
                CONCAT_WS(', ', COALESCE(addresses.name, nullif(CONCAT_WS(' ', addresses.road, addresses.house_number), '')), addresses.city) AS address,
                g.name as geofence_name,
                g.id as geofence_id,
                p.latitude,
                p.longitude,
                cp.charge_energy_added,
                cp.charge_energy_used,
                duration_min,
                start_battery_level,
                end_battery_level,
                start_[[preferred_range]]_range_km,
                end_[[preferred_range]]_range_km,
                outside_temp_avg,
                cp.id,
                lag(end_[[preferred_range]]_range_km) OVER (ORDER BY start_date) - start_[[preferred_range]]_range_km AS range_loss,
                p.odometer - lag(p.odometer) OVER (ORDER BY start_date) AS distance,
                cars.efficiency,
                cp.car_id,
                cost,
                max(c.charger_voltage) as max_charger_voltage
    FROM
        charging_processes cp
            LEFT JOIN charges c ON cp.id = c.charging_process_id
            LEFT JOIN positions p ON p.id = cp.position_id
            LEFT JOIN cars ON cars.id = cp.car_id
            LEFT JOIN addresses ON addresses.id = cp.address_id
            LEFT JOIN geofences g ON g.id = geofence_id
    WHERE 
        cp.car_id = $car_id AND
    $__timeFilter(start_date) AND
    (cp.charge_energy_added IS NULL OR cp.charge_energy_added > 0) AND
    ('${geofence:pipe}' = '-1' OR geofence_id in ($geofence))
    GROUP BY 1, 2, 3, 4, 5, 6, 7, 8, 9, 10,11,12,13,14,15,16,17,18,21,p.odometer
    ORDER BY
    start_date
    )
    SELECT
    start_date_ts,
        end_date_ts,
        CASE WHEN geofence_id IS NULL THEN CONCAT('new?lat=', latitude, '&lng=', longitude)
             WHEN geofence_id IS NOT NULL THEN CONCAT(geofence_id, '/edit')
        END as path,
        car_id,
        id,
        -- Columns
    start_date as start_date_[[length_unit]],
        end_date,
        COALESCE(geofence_name, address) as address,    
        duration_min,
        cost,
        charge_energy_added,
        charge_energy_used,
        CASE WHEN charge_energy_used IS NULL THEN NULL ELSE LEAST(charge_energy_added / NULLIF(charge_energy_used, 0), 1.0) END as charging_efficiency,
        convert_celsius(outside_temp_avg, '$temp_unit') AS outside_temp_avg_$temp_unit,
        charge_energy_added * 60 / NULLIF (duration_min, 0) AS charge_energy_added_per_hour,
        convert_km((end_[[preferred_range]]_range_km - start_[[preferred_range]]_range_km) * 60 / NULLIF (duration_min, 0), '$length_unit') AS range_added_per_hour_$length_unit,
        start_battery_level,
        end_battery_level,
        convert_km(distance::numeric, '$length_unit') AS distance_$length_unit
 FROM
    data
    WHERE
    (distance >= 0 OR distance IS NULL)
        AND max_charger_voltage >= '$voltage'
        AND duration_min >= '$min_duration_min'
        ORDER BY
  start_date DESC;


 

Modifié par MrFurieux

Partager ce message


Lien à poster
Partager sur d’autres sites

C’est vrai qu’elle fait peur, mais en même temps, Teslamate a besoin de ce niveau de complexité pour offrir toutes ses fonctions. Ça ne me choque pas en soi, après comme tu dis, il y a probablement des optimisations possibles. 
 

Après, quand on atteint un certain volume de données, il n’y a pas non plus 36 solutions : il faut des machines performantes pour gérer les grosses bases de données. Tu utilises quoi déjà @bobjouy comme matériel ?

Partager ce message


Lien à poster
Partager sur d’autres sites

il y a 36 minutes, nicolinux a dit :

C’est vrai qu’elle fait peur, mais en même temps, Teslamate a besoin de ce niveau de complexité pour offrir toutes ses fonctions. Ça ne me choque pas en soi, après comme tu dis, il y a probablement des optimisations possibles. 
 

Après, quand on atteint un certain volume de données, il n’y a pas non plus 36 solutions : il faut des machines performantes pour gérer les grosses bases de données. Tu utilises quoi déjà @bobjouy comme matériel ?

"grosses" c'est relatif, on est en dessous d'1 Go ça reste raisonnable. PostgreSQL doit avoir des outils de profiling qui peuvent désigner les requêtes lentes et même expliquer pourquoi elles sont lentes, voire proposer des solutions

Partager ce message


Lien à poster
Partager sur d’autres sites

Grosse n’est peut-être pas le bon terme en effet, ça dépend de ce qui est stocké, comment c’est stocké et comment c’est extrait de la base. 
 

Bref, il y a sûrement des optimisations à faire. Mais d’un autre côté, un NAS peut aussi vite atteindre ses limites, surtout si c’est au milieu d’une opération lourde menée en parallèle. 

Partager ce message


Lien à poster
Partager sur d’autres sites

il y a 40 minutes, nicolinux a dit :

Grosse n’est peut-être pas le bon terme en effet, ça dépend de ce qui est stocké, comment c’est stocké et comment c’est extrait de la base. 
 

Bref, il y a sûrement des optimisations à faire. Mais d’un autre côté, un NAS peut aussi vite atteindre ses limites, surtout si c’est au milieu d’une opération lourde menée en parallèle. 

Ce qui fait penser que c'est un problème de requête c'est qu'il s'agit de temps d'accès très longs (>60 s), systématiquement (donc pas une concurrence ponctuelle avec une autre opération), sur deux machines différentes, probablement à cause de l'augmentation du volume de données puisque le reste n'a pas changé

Partager ce message


Lien à poster
Partager sur d’autres sites

Bonjour!

Petit problème je n'arrive pas a faire la sauvegarde automatique avec CRON. La ligne de commande seule fonctionne et  j'ai bien la sauvegarde qui est faite. Mais dans CRONTAB il me crée un fichier avec 0 octet. 

La ligne de commande

Citation

56 18 * * * docker-compose exec -T database pg_dump -U teslamate teslamate > /home/pi/Documents/teslamate_$(date +\%Y\%m\%d\%H\%M).bck

la ligne de commande

Citation

-rw-r--r-- 1 pi   pi   233770262 juil.  7 16:42 teslamate_202107071641.bck
-rw-r--r-- 1 root root         0 juil.  9 05:00 teslamate_202107090500.bck
-rw-r--r-- 1 root root         0 juil.  9 06:20 teslamate_202107090620.bck
-rw-r--r-- 1 root root         0 juil.  9 18:08 teslamate_202107091808.bck
-rw-r--r-- 1 root root         0 juil.  9 18:11 teslamate_202107091811.bck
-rw-r--r-- 1 root root         0 juil.  9 18:29 teslamate_202107091829.bck
-rw-r--r-- 1 root root         0 juil.  9 18:33 teslamate_202107091833.bck
-rw-r--r-- 1 root root         0 juil.  9 18:39 teslamate_202107091839.bck
-rw-r--r-- 1 root root         0 juil.  9 18:45 teslamate_202107091845.bck
-rw-r--r-- 1 root root         0 juil.  9 18:47 teslamate_202107091847.bck
-rw-r--r-- 1 root root         0 juil.  9 18:56 teslamate_202107091856.bck
-rw-r--r-- 1 root root         0 juil. 10 18:56 teslamate_202107101856.bck
-rw-r--r-- 1 root root         0 juil. 11 18:56 teslamate_202107111856.bck
-rw-r--r-- 1 root root         0 juil. 12 18:56 teslamate_202107121856.bck
-rw-r--r-- 1 root root         0 juil. 13 18:56 teslamate_202107131856.bck
-rw-r--r-- 1 pi   pi   234418996 juil.  9 18:18 teslamate.bck
 

j'ai rajouté le compte root au groupe docker mais c'est toujours vide

Citation

root : root pi lpadmin docker
 

Que faire ?

 

Partager ce message


Lien à poster
Partager sur d’autres sites

Il y a 6 heures, l@blanch€ a dit :

Bonjour!

Petit problème je n'arrive pas a faire la sauvegarde automatique avec CRON. La ligne de commande seule fonctionne et  j'ai bien la sauvegarde qui est faite. Mais dans CRONTAB il me crée un fichier avec 0 octet. 

La ligne de commande

la ligne de commande

j'ai rajouté le compte root au groupe docker mais c'est toujours vide

Que faire ?

 

J'ai trouvé la solution.

Avant et a ne pas faire:

Citation

sudo crontab -e

car c'est le root qui lance la commande et le fichier est a 0 octet.

Ce que j'ai fait, afin de lancer la commande directement sur pi

Citation

crontab -e

et dans le fichier crontab j'ai les lignes de commande suivante et c'est bon pour la création des sauvegardes ensuite il faudra déplacer ce fichier sur un autre support.

Citation

30 23 * * * sudo docker-compose exec -T database pg_dump -U teslamate teslamate > /home/pi/Documents/teslamate_$(date +\%Y\%m\%d\%H\%M).bck
40 23 * * 1 find /home/pi/Documents/* -mtime +30 -exec rm {} \;

il me manque encore a monté un dossier depuis mon NAS pour externaliser la sauvegarde

Partager ce message


Lien à poster
Partager sur d’autres sites

Hello tout le monde, j'ai également un souci sur la sauvegarde, je lance 

docker-compose exec -T db pg_dump -U teslamate teslamate > /home/pi/BackupTeslaMate/teslamate.bck

OU

/usr/local/bin/docker-compose exec -T db pg_dump -U teslamate teslamate > /home/pi/BackupTeslaMate/teslamate.bck

Mais le fichier fait 0, même en sudo. J'ai retourné le problème dans tous les sens..... Faut-il lancer la commande depuis un répertoire en particulier ? Si quelqu'un a une idée sur ce qui m'échappe ce serait super. 🙂

 

Remarque : quand je fais un "echo $?" ensuite j'ai bien un retour 1 donc il y a quelque chose qui se passe mal....

Modifié par Beatles17

Partager ce message


Lien à poster
Partager sur d’autres sites

il y a 11 minutes, Beatles17 a dit :

Hello tout le monde, j'ai également un souci sur la sauvegarde, je lance 


docker-compose exec -T db pg_dump -U teslamate teslamate > /home/pi/BackupTeslaMate/teslamate.bck

OU


/usr/local/bin/docker-compose exec -T db pg_dump -U teslamate teslamate > /home/pi/BackupTeslaMate/teslamate.bck

Mais le fichier fait 0, même en sudo. J'ai retourné le problème dans tous les sens..... Faut-il lancer la commande depuis un répertoire en particulier ? Si quelqu'un a une idée sur ce qui m'échappe ce serait super. 🙂

 

Remarque : quand je fais un "echo $?" ensuite j'ai bien un retour 1 donc il y a quelque chose qui se passe mal....

Hello,

 

Ton souci peut venir de plusieurs choses, points à vérifier :

- Le binaire docker-compose est trouvé mais pas forcément ton fichier yml -> selon l'utilisateur la commande sera executée dans le home directory par défaut (/home/pi, /root...), donc pas forcément où se trouve le yml contenant la config des containers. Il est possible de forcer avec le flag -f le fichier yml également.

- Problème de droits d'accès dans le dossier où tu écris, mais à priori ce n'est pas ça car les fichiers sont créés, même vides.

 

Tu peux éventuellement trouver des logs dans /var/log qui peuvent t'indiquer l'erreur.

 

Je pense clairement pour le premier point, le problème était le même pour @l@blanch€.

Modifié par Yann73

Partager ce message


Lien à poster
Partager sur d’autres sites

il y a 4 minutes, Yann73 a dit :

Hello,

 

Ton souci peut venir de plusieurs choses, points à vérifier :

- Le binaire docker-compose est trouvé mais pas forcément ton fichier yml -> selon l'utilisateur la commande sera executée dans le home directory par défaut (/home/pi, /root...), donc pas forcément où se trouve le yml contenant la config des containers. Il est possible de forcer avec le flag -f le fichier yml également.

- Problème de droits d'accès dans le dossier où tu écris, mais à priori ce n'est pas ça car les fichiers sont créés, même vides.

 

Je pense clairement pour le premier point, le problème était le même pour @l@blanch€.

Merci pour ton retour.

En précisant le fichier yml, j'ai le même problème. Fichier à 0 et pas de message d'erreur :

/usr/local/bin/docker-compose exec -T db pg_dump -f /usr/src/docker-compose.yml -U teslamate teslamate > /home/pi/BackupTeslaMate/teslamateBCK.bck

Je me suis donc mis directement dans le dossier /usr/src pour lancer la commande et la j'ai une erreur de droits :

Traceback (most recent call last):
  File "/usr/lib/python3/dist-packages/urllib3/connectionpool.py", line 600, in urlopen
    chunked=chunked)
  File "/usr/lib/python3/dist-packages/urllib3/connectionpool.py", line 354, in _make_request
    conn.request(method, url, **httplib_request_kw)
  File "/usr/lib/python3.7/http/client.py", line 1260, in request
    self._send_request(method, url, body, headers, encode_chunked)
  File "/usr/lib/python3.7/http/client.py", line 1306, in _send_request
    self.endheaders(body, encode_chunked=encode_chunked)
  File "/usr/lib/python3.7/http/client.py", line 1255, in endheaders
    self._send_output(message_body, encode_chunked=encode_chunked)
  File "/usr/lib/python3.7/http/client.py", line 1030, in _send_output
    self.send(msg)
  File "/usr/lib/python3.7/http/client.py", line 970, in send
    self.connect()
  File "/usr/local/lib/python3.7/dist-packages/docker/transport/unixconn.py", line 43, in connect
    sock.connect(self.unix_socket)
PermissionError: [Errno 13] Permission denied

During handling of the above exception, another exception occurred:

Traceback (most recent call last):
  File "/usr/lib/python3/dist-packages/requests/adapters.py", line 449, in send
    timeout=timeout
  File "/usr/lib/python3/dist-packages/urllib3/connectionpool.py", line 638, in urlopen
    _stacktrace=sys.exc_info()[2])
  File "/usr/lib/python3/dist-packages/urllib3/util/retry.py", line 367, in increment
    raise six.reraise(type(error), error, _stacktrace)
  File "/usr/lib/python3/dist-packages/six.py", line 692, in reraise
    raise value.with_traceback(tb)
  File "/usr/lib/python3/dist-packages/urllib3/connectionpool.py", line 600, in urlopen
    chunked=chunked)
  File "/usr/lib/python3/dist-packages/urllib3/connectionpool.py", line 354, in _make_request
    conn.request(method, url, **httplib_request_kw)
  File "/usr/lib/python3.7/http/client.py", line 1260, in request
    self._send_request(method, url, body, headers, encode_chunked)
  File "/usr/lib/python3.7/http/client.py", line 1306, in _send_request
    self.endheaders(body, encode_chunked=encode_chunked)
  File "/usr/lib/python3.7/http/client.py", line 1255, in endheaders
    self._send_output(message_body, encode_chunked=encode_chunked)
  File "/usr/lib/python3.7/http/client.py", line 1030, in _send_output
    self.send(msg)
  File "/usr/lib/python3.7/http/client.py", line 970, in send
    self.connect()
  File "/usr/local/lib/python3.7/dist-packages/docker/transport/unixconn.py", line 43, in connect
    sock.connect(self.unix_socket)
urllib3.exceptions.ProtocolError: ('Connection aborted.', PermissionError(13, 'Permission denied'))

During handling of the above exception, another exception occurred:

Traceback (most recent call last):
  File "/usr/local/lib/python3.7/dist-packages/docker/api/client.py", line 214, in _retrieve_server_version
    return self.version(api_version=False)["ApiVersion"]
  File "/usr/local/lib/python3.7/dist-packages/docker/api/daemon.py", line 181, in version
    return self._result(self._get(url), json=True)
  File "/usr/local/lib/python3.7/dist-packages/docker/utils/decorators.py", line 46, in inner
    return f(self, *args, **kwargs)
  File "/usr/local/lib/python3.7/dist-packages/docker/api/client.py", line 237, in _get
    return self.get(url, **self._set_request_timeout(kwargs))
  File "/usr/lib/python3/dist-packages/requests/sessions.py", line 546, in get
    return self.request('GET', url, **kwargs)
  File "/usr/lib/python3/dist-packages/requests/sessions.py", line 533, in request
    resp = self.send(prep, **send_kwargs)
  File "/usr/lib/python3/dist-packages/requests/sessions.py", line 646, in send
    r = adapter.send(request, **kwargs)
  File "/usr/lib/python3/dist-packages/requests/adapters.py", line 498, in send
    raise ConnectionError(err, request=request)
requests.exceptions.ConnectionError: ('Connection aborted.', PermissionError(13, 'Permission denied'))

During handling of the above exception, another exception occurred:

Traceback (most recent call last):
  File "/usr/local/bin/docker-compose", line 10, in <module>
    sys.exit(main())
  File "/usr/local/lib/python3.7/dist-packages/compose/cli/main.py", line 81, in main
    command_func()
  File "/usr/local/lib/python3.7/dist-packages/compose/cli/main.py", line 200, in perform_command
    project = project_from_options('.', options)
  File "/usr/local/lib/python3.7/dist-packages/compose/cli/command.py", line 70, in project_from_options
    enabled_profiles=get_profiles_from_options(options, environment)
  File "/usr/local/lib/python3.7/dist-packages/compose/cli/command.py", line 153, in get_project
    verbose=verbose, version=api_version, context=context, environment=environment
  File "/usr/local/lib/python3.7/dist-packages/compose/cli/docker_client.py", line 43, in get_client
    environment=environment, tls_version=get_tls_version(environment)
  File "/usr/local/lib/python3.7/dist-packages/compose/cli/docker_client.py", line 170, in docker_client
    client = APIClient(use_ssh_client=not use_paramiko_ssh, **kwargs)
  File "/usr/local/lib/python3.7/dist-packages/docker/api/client.py", line 197, in __init__
    self._version = self._retrieve_server_version()
  File "/usr/local/lib/python3.7/dist-packages/docker/api/client.py", line 222, in _retrieve_server_version
    'Error while fetching server API version: {0}'.format(e)
docker.errors.DockerException: Error while fetching server API version: ('Connection aborted.', PermissionError(13, 'Permission denied'))


Je passe donc la commande en sudo, plus d'erreur mais fichier toujours à 0....

Partager ce message


Lien à poster
Partager sur d’autres sites

Tu lances ta commande avec quel utilisateur ? Attention à ne pas mixer les utilisateurs à tout va quand il s'agit de lancer les commandes, si tu as lancé les containers avec l'user "pi" par exemple, lance le backup avec le même utilisateur.

 

Dans ton cas docker refuse la connexion car l'utilisateur ne fait pas partie du groupe docker.

 

Tu devrais aussi regrouper le yml et le dossier de backup et les éventuels dossiers/configs mappés dans un même dossier autre qu'un dossier système, comme un /home/pi/Teslamate par exemple. Mettre ça dans /usr/src n'est pas une bonne idée :) 

Partager ce message


Lien à poster
Partager sur d’autres sites

il y a 16 minutes, Yann73 a dit :

Tu lances ta commande avec quel utilisateur ? Attention à ne pas mixer les utilisateurs à tout va quand il s'agit de lancer les commandes, si tu as lancé les containers avec l'user "pi" par exemple, lance le backup avec le même utilisateur.

 

Dans ton cas docker refuse la connexion car l'utilisateur ne fait pas partie du groupe docker.

 

Tu devrais aussi regrouper le yml et le dossier de backup et les éventuels dossiers/configs mappés dans un même dossier autre qu'un dossier système, comme un /home/pi/Teslamate par exemple. Mettre ça dans /usr/src n'est pas une bonne idée :) 

Je lance la commande avec "pi" . Quand je fais un "top", dockerd est un process de root. J'ai ajouté pi au groupe docker mais pas mieux, je n'ai juste plus l'erreur cité plus haut et toujours le code retour 1.

Je viens de faire un docker-compose stop / start avec pi ce qui confirme que les droits sont là.

Modifié par Beatles17

Partager ce message


Lien à poster
Partager sur d’autres sites

il y a 3 minutes, Beatles17 a dit :

Je lance la commande avec "pi" . Quand je fais un "top", dockerd est un process de root. J'ai ajouté pi au groupe docker mais pas mieux, je n'ai juste plus l'erreur cité plus haut et toujours le code retour 1.

Les process docker en root c'est normal, il a besoin de privilèges élevés pour monter ses interface réseau, les containers sont stockés dans un endroit particulier, etc..

Un "docker-compose ps" remonte bien les infos de tes containers avec l'user pi ?

Partager ce message


Lien à poster
Partager sur d’autres sites

il y a 3 minutes, Yann73 a dit :

Les process docker en root c'est normal, il a besoin de privilèges élevés pour monter ses interface réseau, les containers sont stockés dans un endroit particulier, etc..

Un "docker-compose ps" remonte bien les infos de tes containers avec l'user pi ?

Oui :

     Name                    Command               State                    Ports
---------------------------------------------------------------------------------------------------
src_database_1    docker-entrypoint.sh postgres    Up      5432/tcp
src_grafana_1     /run.sh                          Up      0.0.0.0:3000->3000/tcp,:::3000->3000/tcp
src_mosquitto_1   /docker-entrypoint.sh /usr ...   Up      0.0.0.0:1883->1883/tcp,:::1883->1883/tcp
src_teslamate_1   tini -- /bin/sh /entrypoin ...   Up      0.0.0.0:4000->4000/tcp,:::4000->4000/tcp

 

Partager ce message


Lien à poster
Partager sur d’autres sites

il y a 2 minutes, Beatles17 a dit :

Oui :


     Name                    Command               State                    Ports
---------------------------------------------------------------------------------------------------
src_database_1    docker-entrypoint.sh postgres    Up      5432/tcp
src_grafana_1     /run.sh                          Up      0.0.0.0:3000->3000/tcp,:::3000->3000/tcp
src_mosquitto_1   /docker-entrypoint.sh /usr ...   Up      0.0.0.0:1883->1883/tcp,:::1883->1883/tcp
src_teslamate_1   tini -- /bin/sh /entrypoin ...   Up      0.0.0.0:4000->4000/tcp,:::4000->4000/tcp

 

Je viens de recheck ta commande tu passes le -f après le pg_dump donc il va le prendre en argument pour cette commande.

Essaies plutôt dans ce sens (j'ai ajouté le --verbose aussi) :

/usr/local/bin/docker-compose --verbose -f /usr/src/docker-compose.yml exec -T db pg_dump -U teslamate teslamate > /home/pi/BackupTeslaMate/teslamateBCK.bck

 

Partager ce message


Lien à poster
Partager sur d’autres sites

il y a 4 minutes, Yann73 a dit :

Je viens de recheck ta commande tu passes le -f après le pg_dump donc il va le prendre en argument pour cette commande.

Essaies plutôt dans ce sens (j'ai ajouté le --verbose aussi) :


/usr/local/bin/docker-compose --verbose -f /usr/src/docker-compose.yml exec -T db pg_dump -U teslamate teslamate > /home/pi/BackupTeslaMate/teslamateBCK.bck

 

Alors fichier toujours vide mais j'ai de la verbose :

compose.config.config.find: Using configuration files: /usr/src/docker-compose.yml
compose.cli.docker_client.get_client: docker-compose version 1.29.1, build unknown
docker-py version: 5.0.0
CPython version: 3.7.3
OpenSSL version: OpenSSL 1.1.1d  10 Sep 2019
compose.cli.docker_client.get_client: Docker base_url: http+docker://localhost
compose.cli.docker_client.get_client: Docker version: Platform={'Name': 'Docker Engine - Community'}, Components=[{'Name': 'Engine', 'Version': '20.10.6', 'Details': {'ApiVersion': '1.41', 'Arch': 'arm', 'BuildTime': '2021-04-09T22:44:17.000000000+00:00', 'Experimental': 'false', 'GitCommit': '8728dd2', 'GoVersion': 'go1.13.15', 'KernelVersion': '5.10.17-v7+', 'MinAPIVersion': '1.12', 'Os': 'linux'}}, {'Name': 'containerd', 'Version': '1.4.4', 'Details': {'GitCommit': '05f951a3781f4f2c1911b05e61c160e9c30eaa8e'}}, {'Name': 'runc', 'Version': '1.0.0-rc93', 'Details': {'GitCommit': '12644e614e25b05da6fd08a38ffa0cfe1903fdec'}}, {'Name': 'docker-init', 'Version': '0.19.0', 'Details': {'GitCommit': 'de40ad0'}}], Version=20.10.6, ApiVersion=1.41, MinAPIVersion=1.12, GitCommit=8728dd2, GoVersion=go1.13.15, Os=linux, Arch=arm, KernelVersion=5.10.17-v7+, BuildTime=2021-04-09T22:44:17.000000000+00:00
compose.cli.verbose_proxy.proxy_callable: docker inspect_network <- ('src_default')
compose.cli.verbose_proxy.proxy_callable: docker inspect_network -> {'Attachable': True,
 'ConfigFrom': {'Network': ''},
 'ConfigOnly': False,
 'Containers': {'3cf25d73ef8019526ad3e9b317943ba8765a9eac86d6ac19b094d85b18d270dc': {'EndpointID': 'c0ea8d007c47545bf6db35dc975775e4ba2478c40321260d82cb351dd926cacb',
                                                                                     'IPv4Address': '172.18.0.2/16',
                                                                                     'IPv6Address': '',
                                                                                     'MacAddress': '02:42:ac:12:00:02',
                                                                                     'Name': 'src_teslamate_1'},
                '80f03a70521a182bae3a05b9a56e75c6df35231378d95734e5fe669fe5daac0a': {'EndpointID': '8f4a35561bc317bc97d8bf4aca270202b44a786c10456e1e57d9571c088d7eca',
                                                                                     'IPv4Address': '172.18.0.4/16',
...
compose.cli.verbose_proxy.proxy_callable: docker inspect_volume <- ('src_teslamate-db')
compose.cli.verbose_proxy.proxy_callable: docker inspect_volume -> {'CreatedAt': '2021-07-15T08:37:43+01:00',
 'Driver': 'local',
 'Labels': {'com.docker.compose.project': 'src',
            'com.docker.compose.version': '1.29.1',
            'com.docker.compose.volume': 'teslamate-db'},
 'Mountpoint': '/var/lib/docker/volumes/src_teslamate-db/_data',
 'Name': 'src_teslamate-db',
 'Options': None,
 'Scope': 'local'}
compose.cli.verbose_proxy.proxy_callable: docker inspect_volume <- ('src_teslamate-grafana-data')
compose.cli.verbose_proxy.proxy_callable: docker inspect_volume -> {'CreatedAt': '2021-07-15T08:47:49+01:00',
 'Driver': 'local',
 'Labels': {'com.docker.compose.project': 'src',
            'com.docker.compose.version': '1.29.1',
            'com.docker.compose.volume': 'teslamate-grafana-data'},
 'Mountpoint': '/var/lib/docker/volumes/src_teslamate-grafana-data/_data',
 'Name': 'src_teslamate-grafana-data',
 'Options': None,
 'Scope': 'local'}
compose.cli.verbose_proxy.proxy_callable: docker inspect_volume <- ('src_mosquitto-conf')
compose.cli.verbose_proxy.proxy_callable: docker inspect_volume -> {'CreatedAt': '2021-07-15T08:37:42+01:00',
 'Driver': 'local',
 'Labels': {'com.docker.compose.project': 'src',
            'com.docker.compose.version': '1.29.1',
            'com.docker.compose.volume': 'mosquitto-conf'},
 'Mountpoint': '/var/lib/docker/volumes/src_mosquitto-conf/_data',
 'Name': 'src_mosquitto-conf',
 'Options': None,
 'Scope': 'local'}
compose.cli.verbose_proxy.proxy_callable: docker inspect_volume <- ('src_mosquitto-data')
compose.cli.verbose_proxy.proxy_callable: docker inspect_volume -> {'CreatedAt': '2021-07-15T08:37:42+01:00',
 'Driver': 'local',
 'Labels': {'com.docker.compose.project': 'src',
            'com.docker.compose.version': '1.29.1',
            'com.docker.compose.volume': 'mosquitto-data'},
 'Mountpoint': '/var/lib/docker/volumes/src_mosquitto-data/_data',
 'Name': 'src_mosquitto-data',
 'Options': None,
 'Scope': 'local'}

 

Partager ce message


Lien à poster
Partager sur d’autres sites

il y a 2 minutes, Yann73 a dit :

Ajoute --log-level DEBUG dans la commande ça devrait cracher pas mal :) 

Ca se stoppe au même endroit. J'ai passé ça :

/usr/local/bin/docker-compose --verbose --log-level DEBUG -f /usr/src/docker-compose.yml exec -T db pg_dump -U teslamate teslamate > /home/pi/BackupTeslaMate/teslamateBCK.bck
 

Partager ce message


Lien à poster
Partager sur d’autres sites

il y a 5 minutes, Beatles17 a dit :

Ca se stoppe au même endroit. J'ai passé ça :

/usr/local/bin/docker-compose --verbose --log-level DEBUG -f /usr/src/docker-compose.yml exec -T db pg_dump -U teslamate teslamate > /home/pi/BackupTeslaMate/teslamateBCK.bck
 

On va faire différemment, ne pas passer par docker-compose mais directement par le binaire docker comme j'avais montré pas mal de pages en arrière, c'est ce que j'utilise perso docker-compose est inutile pour ce cas d'usage :

docker exec <nom_de_ton_container> pg_dump -U teslamate teslamate > /home/<tonuser>/<ton_dossier_backup>/Backup_TeslaMate.bck

Remplace les <toto> par les bons éléments et ça devrait le faire.

Partager ce message


Lien à poster
Partager sur d’autres sites

il y a 4 minutes, Yann73 a dit :

On va faire différemment, ne pas passer par docker-compose mais directement par le binaire docker comme j'avais montré pas mal de pages en arrière, c'est ce que j'utilise perso docker-compose est inutile pour ce cas d'usage :


docker exec <nom_de_ton_container> pg_dump -U teslamate teslamate > /home/<tonuser>/<ton_dossier_backup>/Backup_TeslaMate.bck

Remplace les <toto> par les bons éléments et ça devrait le faire.

Donc je suis parti sur ça :

pi@raspberrypi:/usr/src $ docker exec src_teslamate_1 pg_dump -U teslamate teslamate > /home/pi/BackupTeslaMate/teslamateBCK123.bck
pi@raspberrypi:/usr/src $ echo $?
126

Pas mieux.... Je sais pas si ma commande est correcte.

 

Partager ce message


Lien à poster
Partager sur d’autres sites

il y a 2 minutes, Beatles17 a dit :

Donc je suis parti sur ça :


pi@raspberrypi:/usr/src $ docker exec src_teslamate_1 pg_dump -U teslamate teslamate > /home/pi/BackupTeslaMate/teslamateBCK123.bck
pi@raspberrypi:/usr/src $ echo $?
126

Pas mieux.... Je sais pas si ma commande est correcte.

 

L'erreur 126 = commande trouvée mais non executable normalement.

Il faut que tu executes le pg_dump sur src_database_1, le container BDD, pas celui Teslamate.

Partager ce message


Lien à poster
Partager sur d’autres sites





×
×
  • Créer...
Automobile Propre

Automobile Propre est un site d'information communautaire qui est dédié à tout ce qui concerne l'automobile et l'environnement. Les thématiques les plus populaires de notre blog auto sont la voiture électrique et les hybrides, mais nous abordons également la voiture GNV / GPL, les auto à l'hydrogène, les apects politiques et environnementaux liés à l'automobile. Les internautes sont invités à réagir aux articles du blog dans les commentaires, mais également dans les différents forums qui sont mis à leur dispositon. Le plus populaire d'entre eux est certainement le forum voiture électrique qui centralise les discussions relatives à l'arrivée de ces nouveaux véhicules. Un lexique centralise les définitions des principaux mots techniques utilisés sur le blog, tandis qu'une base de données des voitures (commercialisées ou non) recense les voitures électriques et hybrides.