Debian Debian-France Debian-Facile Debian-fr.org Debian-fr.xyz Debian ? Communautés

Debian-facile

Bienvenue sur Debian-Facile, site d'aide pour les nouveaux utilisateurs de Debian.

Vous n'êtes pas identifié(e).

#1 24-11-2020 13:06:35

Caille
Membre
Lieu : Finistère 29
Distrib. : Debian SID
Noyau : 5.9.0-1 amd64
(G)UI : Gnome
Inscription : 24-06-2017

Lancer un bash avec une date "JJ/MM/AAAA" ?

Bonjour,

J'essaye depuis hier de créer un bash...
J'aimerais pouvoir lancer ce bash avec une date au format JJ/MM/AAAA toujours à l'horaire 00:00:00.
Que cette date soit convertie en nombre UNIX depuis le 01/01/1970 et attribué à une variable $1 par exemple ?
Pour récupérer le nombre UNIX d'aujourd'hui, c'est simple car il existe la commande :

date +%s
1606206650
 

Par contre comment donner une date en entrée dans un bash, je ne trouve pas, exemple ?

./bash.sh 12/07/2014

Transforme la date en nombre entier et lance l'exécution...

J'ai lancé la commande date --help mais je ne comprend rien à cette doc, problèmes de syntaxe, ou cette commande est impossible ?


PC Portable : Asus N76B-T5041H (Core I-7 3630QM - Ram 16 Go, Vidéo INTEL HD 4000 + GEFORCE 740 M Ram 4 Go)
Systèmes : Win10_20H2_v2_French_x64 / Manjaro (KDE) / Ubuntu - 20.04.1 LTS (Gnome) / Debian SID (Gnome) / Debian Buster (Gnome)
Disques : Systèmes SSD Samsung 860 PRO - 1 To / Données HDD - Seagate FireCuda 2 To hybride SSHD
Imprimante : Brother MFC-L2720DW

Hors ligne

#2 24-11-2020 13:19:57

Croutons
Membre
Distrib. : Debian10 Buster
Noyau : Linux 4.19.0-16-amd64
(G)UI : Mate
Inscription : 16-12-2016

Re : Lancer un bash avec une date "JJ/MM/AAAA" ?

Hello

Caille a écrit :

attribué à une variable $1 par exemple ?


$1 tu ne peux l'utiliser elle est réservée c'est une variable spéciale
https://debian-facile.org/doc:programma … -un-script

edit:

J'aimerais pouvoir lancer ce bash avec une date au format JJ/MM/AAAA toujours à l'horaire 00:00:00.


ta demande est pas très clair
lancé le script a une date précise ?
si c'est le cas tu peux te servir de crontab

Dernière modification par Croutons (24-11-2020 13:28:05)


-->les cahiers du debutant<--      WikiDF-->Découvrir les principales commandes Linux<--
L' expérience, c'est le nom que chacun donne à ses erreurs. Oscar Wilde

En ligne

#3 24-11-2020 14:11:41

bendia
Chadministrateur
Distrib. : openSUSE Tumbleweed, Buster
Noyau : Linux 5.9.1-2-default + Linux 4.19.0-12-amd64
(G)UI : Gnome + Console et un peu Fluxbox
Inscription : 20-03-2012
Site Web

Re : Lancer un bash avec une date "JJ/MM/AAAA" ?

Salut smile

Effectivement, ça n'est pas clair, mais je crois que tu voudrais donner en paramètre à date une date quelconque, et pas celle du moment. Pour ça, il y a l'option -d.

Pour ton exemple, ça donne donc

date -d 12/07/2014 +%s

1417906800



Du coup, pour en faire un script, ça donnerait un truc de ce genre

#! /bin/bash
date -d "$1" +%s



Maintenant, est-ce qu'une commande du même genre ne serait pas plus efficace avec un alias, depoch par exemple, qui serait définie dans ton fichier ~/.bash_aliases ?

alias depoch='date +%s -d'


Pour l'utiliser

depoch 12/07/2014

1417906800


Ben
___________________
La seule question bête, c'est celle qu'on ne pose pas.

Hors ligne

#4 24-11-2020 16:08:52

Caille
Membre
Lieu : Finistère 29
Distrib. : Debian SID
Noyau : 5.9.0-1 amd64
(G)UI : Gnome
Inscription : 24-06-2017

Re : Lancer un bash avec une date "JJ/MM/AAAA" ?

bendia a écrit :

Effectivement, ça n'est pas clair, mais je crois que tu voudrais donner en paramètre à date une date quelconque, et pas celle du moment. Pour ça, il y a l'option -d.

Bonjour,

J'essaye de programmer un bash...
L'idée est de partir d'une date de départ pour ensuite lancer une boucle qui compte et affiche le comptage jusqu'à la date d'aujourd'hui.
Pour la date de fin, j'utilise date +%s, pas besoin de la rentrer manuellement, elle est automatiquement calculée au lancement.
Pour le départ je rentre une date quelconque après le 01/01/1970, comme le 12/07/2014 et la boucle commence.
PS : Cette date sera interprété comme le 12 juillet 2014 (format anglais) ou le 7 décembre 2014 (format français) ?
Elle ce termine lorsqu'elle arrive à la date calculée lors du lancement, ou avec ctrl+c
Il faut que le format de la date entrée soit : 12/07/2014, 12-07-2014, 12 07 2014 etc et que la syntaxe soit affichée lors du lancement.
Exemple : Donner une date postérieure au 01 Janvier 1970 sous le format JJ/MM/AAAA :

Cordialement.


PC Portable : Asus N76B-T5041H (Core I-7 3630QM - Ram 16 Go, Vidéo INTEL HD 4000 + GEFORCE 740 M Ram 4 Go)
Systèmes : Win10_20H2_v2_French_x64 / Manjaro (KDE) / Ubuntu - 20.04.1 LTS (Gnome) / Debian SID (Gnome) / Debian Buster (Gnome)
Disques : Systèmes SSD Samsung 860 PRO - 1 To / Données HDD - Seagate FireCuda 2 To hybride SSHD
Imprimante : Brother MFC-L2720DW

Hors ligne

#5 24-11-2020 18:23:57

Croutons
Membre
Distrib. : Debian10 Buster
Noyau : Linux 4.19.0-16-amd64
(G)UI : Mate
Inscription : 16-12-2016

Re : Lancer un bash avec une date "JJ/MM/AAAA" ?

Tu veux récupérer l' affichage de %s de chaque jour partir de ta date de départ j'uqu'à la date d'aujourd'hui ?

-->les cahiers du debutant<--      WikiDF-->Découvrir les principales commandes Linux<--
L' expérience, c'est le nom que chacun donne à ses erreurs. Oscar Wilde

En ligne

#6 25-11-2020 12:34:33

Croutons
Membre
Distrib. : Debian10 Buster
Noyau : Linux 4.19.0-16-amd64
(G)UI : Mate
Inscription : 16-12-2016

Re : Lancer un bash avec une date "JJ/MM/AAAA" ?

bendia a écrit :

Pour ton exemple, ça donne donc

date -d 12/07/2014 +%s

1417906800


attention c'est un piège ce truc il faut saisir la date sous la forme mois/jour/année
j'ai eu beau cherché j'ai pas trouvé comment changé ce comportement
autant pour l'affichage y'a plein de possibilité mais pas pour la saisi
du coup c'est

date -d 07/12/2014 +%s


1405116000



affichage inverse

date --date='@1405116000'


samedi 12 juillet 2014, 00:00:00 (UTC+0200)


-->les cahiers du debutant<--      WikiDF-->Découvrir les principales commandes Linux<--
L' expérience, c'est le nom que chacun donne à ses erreurs. Oscar Wilde

En ligne

#7 25-11-2020 13:00:29

Caille
Membre
Lieu : Finistère 29
Distrib. : Debian SID
Noyau : 5.9.0-1 amd64
(G)UI : Gnome
Inscription : 24-06-2017

Re : Lancer un bash avec une date "JJ/MM/AAAA" ?

Croutons a écrit :

Tu veux récupérer l' affichage de %s de chaque jour partir de ta date de départ j'uqu'à la date d'aujourd'hui ?

Bonjour Croutons,

En fait j'avais posté des captures écrans sur un site sans avoir créé de compte avant, il était donc impossible de les supprimer : https://pix.toile-libre.org/
Les images sont stockées avec des numéros qui correspondent aux secondes depuis le 01/01/1970 (date UNIX).
Comme je connaissais la date approximative de l'envoi, mais plus leurs numéros, j'ai essayé de faire un script pour les retrouvées.
Comme ce script peut-être utile à d'autres, j'aurais voulu qu'il soit plus facile à lancer, mais je suis un piètre programmeur.
Il faut actuellement lancer le script avec les deux limites de la recherche avec un espace entre, j'aurai préféré le lancer avec seulement la date de départ.
La date de fin, c'est lors du lancement du script ctrl+c pour stopper mais si l'écart est trop important le lancement est très long voir impossible à cause du type de boucle utilisée.
Il serait même possible de choisir lors du lancement le type d'extension : png, jpg, jpeg, gif, lors du lancement. (Les extensions ne sont jamais en majuscules sur le site).
L’essentiel est qu'il fonctionne, même s'il n'est pas top ! Pour vérifier la date il est toujours possible d'utiliser un site de conversion : https://timestamp-tool.fr/
Exemple de lancement : entre le 09/11/2020 - 10:46:38 et le 10/11/2020 - 10:46:38 (Il faut environ 4h43 pour balayer 24h00 soit 86400 secondes).

./script.sh 1604915198 1605001598

       

cat bash.sh

#!/bin/bash

START=$1
STOP=$2

for x in $( seq $START $STOP ); do
    wget 'https://pix.toile-libre.org/upload/original/'$x'.png'
done


.

Dernière modification par Caille (25-11-2020 15:38:29)


PC Portable : Asus N76B-T5041H (Core I-7 3630QM - Ram 16 Go, Vidéo INTEL HD 4000 + GEFORCE 740 M Ram 4 Go)
Systèmes : Win10_20H2_v2_French_x64 / Manjaro (KDE) / Ubuntu - 20.04.1 LTS (Gnome) / Debian SID (Gnome) / Debian Buster (Gnome)
Disques : Systèmes SSD Samsung 860 PRO - 1 To / Données HDD - Seagate FireCuda 2 To hybride SSHD
Imprimante : Brother MFC-L2720DW

Hors ligne

#8 25-11-2020 16:07:08

Croutons
Membre
Distrib. : Debian10 Buster
Noyau : Linux 4.19.0-16-amd64
(G)UI : Mate
Inscription : 16-12-2016

Re : Lancer un bash avec une date "JJ/MM/AAAA" ?

ce que tu veux faire est impossible, j'ai compris l'idée vu que la forme est
exemple :

 https://pix.toile-libre.org/?img=1602657777.png


pas si simple j'ai essayé d'upload , j'ai bien le fichier avec la date en secondes dans url mais si j'essaie un décalage aucune image trouvé
même les moteurs de recherche patauge dans le résultat et affiche des images non conforme à la demande
l'url du fichier a été décalé de plusieurs minutes lors de l'upload

ce qu'il faut que tu fasse c'est afficher l'histoire de ton navigateur
si tu connais la date approximative tu déroules le menu , puis dans le menu trier tu selectionnes affichage par date et par site
de la tu as tout les sites visité il te suffit de choisir le menu déroulant correspondant a toilepix
NEei7UMx.png

Dernière modification par Croutons (25-11-2020 16:14:21)


-->les cahiers du debutant<--      WikiDF-->Découvrir les principales commandes Linux<--
L' expérience, c'est le nom que chacun donne à ses erreurs. Oscar Wilde

En ligne

#9 25-11-2020 17:32:20

Caille
Membre
Lieu : Finistère 29
Distrib. : Debian SID
Noyau : 5.9.0-1 amd64
(G)UI : Gnome
Inscription : 24-06-2017

Re : Lancer un bash avec une date "JJ/MM/AAAA" ?

Croutons a écrit :

ce que tu veux faire est impossible, j'ai compris l'idée vu que la forme est
exemple :

 https://pix.toile-libre.org/?img=1602657777.png

Bonjour,

Merci à toi !

Je n'ai pas très bien compris comment chercher la date avec mon navigateur Chromium ?
Je pense qu'il serait très difficile de faire la recherche directement avec le navigateur et l'historique, l'avantage du script, c'est qu'il marche tout seul.
De toute façon mon script fonctionne très bien, sauf que ce n'est pas très intuitif pour donner la date de départ, vue qu'elle est en date UNIX.
Ce système de dates n'est pas très parlant au commun des mortels, mais beaucoup plus commode à manipuler en informatique, d'où son existence.
De toute façon j'ai résolu mon problème principal, mais je voulais approfondir ma compréhension du bash en essayant de l'améliorer.
Si je trouve une solution je viendrais l'indiquer ici.

Croutons a écrit :

j'ai bien le fichier avec la date en secondes dans url mais si j'essaie un décalage aucune image trouvé

Petite précision :

Ça c'est normal, car la date UNIX donne uniquement un nombre et il n'y a pas à chaque fois des images, c'est comme à la pêche. wink
L'essai que j'ai indiqué avec uniquement des fichiers.png trouve seulement 64 images.png dans ce laps de 86400 secondes.
Je reçois donc 86400 - 64 = 86336 fois "erreur 404 : Not Found." tout simplement car il n'y a pas d'images.png avec ces autres numéros !

Exemple :

$ ./script_png.sh 1604915198 1605001598
--2020-11-25 17:08:38--  https://pix.toile-libre.org/upload/original/1604915198.png
Résolution de pix.toile-libre.org (pix.toile-libre.org)… 195.88.84.110
Connexion à pix.toile-libre.org (pix.toile-libre.org)|195.88.84.110|:443… connecté.
requête HTTP transmise, en attente de la réponse… 404 Not Found
2020-11-25 17:08:38 erreur 404 : Not Found.

--2020-11-25 17:08:38--  https://pix.toile-libre.org/upload/original/1604915199.png
Résolution de pix.toile-libre.org (pix.toile-libre.org)… 195.88.84.110
Connexion à pix.toile-libre.org (pix.toile-libre.org)|195.88.84.110|:443… connecté.
requête HTTP transmise, en attente de la réponse… 404 Not Found
2020-11-25 17:08:38 erreur 404 : Not Found.

--2020-11-25 17:08:38--  https://pix.toile-libre.org/upload/original/1604915200.png
Résolution de pix.toile-libre.org (pix.toile-libre.org)… 195.88.84.110
Connexion à pix.toile-libre.org (pix.toile-libre.org)|195.88.84.110|:443… connecté.
requête HTTP transmise, en attente de la réponse… 404 Not Found
2020-11-25 17:08:38 erreur 404 : Not Found.
 



Cordialement.

Dernière modification par Caille (25-11-2020 18:43:26)


PC Portable : Asus N76B-T5041H (Core I-7 3630QM - Ram 16 Go, Vidéo INTEL HD 4000 + GEFORCE 740 M Ram 4 Go)
Systèmes : Win10_20H2_v2_French_x64 / Manjaro (KDE) / Ubuntu - 20.04.1 LTS (Gnome) / Debian SID (Gnome) / Debian Buster (Gnome)
Disques : Systèmes SSD Samsung 860 PRO - 1 To / Données HDD - Seagate FireCuda 2 To hybride SSHD
Imprimante : Brother MFC-L2720DW

Hors ligne

#10 25-11-2020 18:57:31

Croutons
Membre
Distrib. : Debian10 Buster
Noyau : Linux 4.19.0-16-amd64
(G)UI : Mate
Inscription : 16-12-2016

Re : Lancer un bash avec une date "JJ/MM/AAAA" ?

tu es sur que c'est pas trop rapide tes demandes au serveur?
edit: a ba non en fait aucun contrôle du serveur

Dernière modification par Croutons (25-11-2020 19:11:27)


-->les cahiers du debutant<--      WikiDF-->Découvrir les principales commandes Linux<--
L' expérience, c'est le nom que chacun donne à ses erreurs. Oscar Wilde

En ligne

#11 25-11-2020 19:11:04

Caille
Membre
Lieu : Finistère 29
Distrib. : Debian SID
Noyau : 5.9.0-1 amd64
(G)UI : Gnome
Inscription : 24-06-2017

Re : Lancer un bash avec une date "JJ/MM/AAAA" ?

Croutons a écrit :

tu es sur que c'est pas trop rapide tes demandes au serveur?


Je ne sais pas, parfois il attendait la réponse une seconde ou deux, mais ça marchait quand même.
De toute façon je ne l'ai utilisé qu'une journée pour trouver les images que je voulait supprimer, les autres images sur ce site n'ont strictement aucun intérêt.


PC Portable : Asus N76B-T5041H (Core I-7 3630QM - Ram 16 Go, Vidéo INTEL HD 4000 + GEFORCE 740 M Ram 4 Go)
Systèmes : Win10_20H2_v2_French_x64 / Manjaro (KDE) / Ubuntu - 20.04.1 LTS (Gnome) / Debian SID (Gnome) / Debian Buster (Gnome)
Disques : Systèmes SSD Samsung 860 PRO - 1 To / Données HDD - Seagate FireCuda 2 To hybride SSHD
Imprimante : Brother MFC-L2720DW

Hors ligne

#12 25-11-2020 21:46:25

golgot200
Membre
Distrib. : Archlinux 2018-02-03
Noyau : 5.11.12-arch1-1
(G)UI : Mate (Strict Minimum)
Inscription : 05-08-2007

Re : Lancer un bash avec une date "JJ/MM/AAAA" ?

Caille a écrit :

Croutons a écrit :

Tu veux récupérer l' affichage de %s de chaque jour partir de ta date de départ j'uqu'à la date d'aujourd'hui ?

Bonjour Croutons,

En fait j'avais posté des captures écrans sur un site sans avoir créé de compte avant, il était donc impossible de les supprimer
.



Bonsoir,

Tiens c'est marrant, moi j'avais un problème quasi similaire. Moi, j'avais un compte mais sur tdct s pix
J'avais une image que je voulais absolument supprimer, chose que j'ai faite. Mais à ma grande surprise, je me suis apperçu que l'image était toujours présente et pas moyen de faire quoi que soit après. J'ai donc décidé de supprimer mon compte en cochant bien "supprimer toutes images associées au compte .... et paf, toutes les images sont toujours présentes et pas moyen de faire de faire quoique ce soit.
J'ai réussi à contacter un responsable (que je ne citerai pas). Il a reconnu qu'un problème était survenu de leur part. Il m'a proposé de lui faire parvenir tous les liens (boulot fastidieux)  pour qu'il puisse les supprimer. Résultat, silence complet, plus de nouvelle. C'est bien cool de sa part.

Je suis curieux de voir comment tu vas procéder. Si tu y arrives, je peux te filer mes liens pour un petit rm dans les règles wink

Dernière modification par golgot200 (25-11-2020 21:47:27)

Hors ligne

#13 25-11-2020 22:25:00

Caille
Membre
Lieu : Finistère 29
Distrib. : Debian SID
Noyau : 5.9.0-1 amd64
(G)UI : Gnome
Inscription : 24-06-2017

Re : Lancer un bash avec une date "JJ/MM/AAAA" ?

Bonsoir,

J'ai simplement contacté l'administrateur du site.
En utilisant le lien Contact du site, j'ai reçu un mail en retour et lui ait fait parvenir les différents liens des images que j'avais rétouvées avec mon script.
Il les a supprimé cette nuit.

Bonne soirée.

PC Portable : Asus N76B-T5041H (Core I-7 3630QM - Ram 16 Go, Vidéo INTEL HD 4000 + GEFORCE 740 M Ram 4 Go)
Systèmes : Win10_20H2_v2_French_x64 / Manjaro (KDE) / Ubuntu - 20.04.1 LTS (Gnome) / Debian SID (Gnome) / Debian Buster (Gnome)
Disques : Systèmes SSD Samsung 860 PRO - 1 To / Données HDD - Seagate FireCuda 2 To hybride SSHD
Imprimante : Brother MFC-L2720DW

Hors ligne

#14 03-12-2020 15:06:41

Caille
Membre
Lieu : Finistère 29
Distrib. : Debian SID
Noyau : 5.9.0-1 amd64
(G)UI : Gnome
Inscription : 24-06-2017

Re : Lancer un bash avec une date "JJ/MM/AAAA" ?

Croutons a écrit :

tu es sur que c'est pas trop rapide tes demandes au serveur?
edit: a ba non en fait aucun contrôle du serveur

Bonjour Croutons,

Tu a apporté une petite précision depuis ma réponse à la première question.
Je n'ai pas trop compris l'histoire de contrôle du serveur, en fait mon script ne fait qu'envoyer des requêtes sur ce site, comme le ferait un forum qui affiche une image.
Mon PC envoyait jusqu'à 5 requêtes par seconde, sauf lorsqu'il récupérait une image, ce qui permet de tester environ 5 jours sur 24h00, avec une seule extension.
Il suffit de connaître la date approximative de l'envoi et l'extension utilisée pour retrouver sans aucune intervention manuel ses images avec leurs numéros.
Ce site me semble donc trop peu sécurisé, car après plusieurs centaines de requêtes, mon adresse IP aurait du être bloquée, ce qui n'a heureusement pas été le cas.

Cordialement.

golgot200 a écrit :

Résultat, silence complet, plus de nouvelle. C'est bien cool de sa part.
Je suis curieux de voir comment tu vas procéder. Si tu y arrives, je peux te filer mes liens pour un petit rm dans les règles wink

Bonjour golgot200,

Tu as toujours la possibilité de contacter la CNIL

Cordialement.


PC Portable : Asus N76B-T5041H (Core I-7 3630QM - Ram 16 Go, Vidéo INTEL HD 4000 + GEFORCE 740 M Ram 4 Go)
Systèmes : Win10_20H2_v2_French_x64 / Manjaro (KDE) / Ubuntu - 20.04.1 LTS (Gnome) / Debian SID (Gnome) / Debian Buster (Gnome)
Disques : Systèmes SSD Samsung 860 PRO - 1 To / Données HDD - Seagate FireCuda 2 To hybride SSHD
Imprimante : Brother MFC-L2720DW

Hors ligne

Pied de page des forums