CONNEXION
  • RetourJeux
    • Sorties
    • Hit Parade
    • Les + populaires
    • Les + attendus
    • Soluces
    • Tous les Jeux
    • Gaming
  • RetourActu Gaming
    • News
    • Astuces
    • Tests
    • Previews
    • Toute l'actu gaming
  • RetourBons plans
    • Bons plans
    • Bons plans Smartphone
    • Bons plans Hardware
    • Bons plans Image et Son
    • Bons plans Amazon
    • Bons plans Cdiscount
    • Bons plans Decathlon
    • Bons plans Fnac
    • Tous les Bons plans
  • RetourJVTech
    • Actus High-Tech
    • Intelligence Artificielle
    • Smartphones
    • Mobilité urbaine
    • Hardware
    • Image et son
    • Tutoriels
    • Tests produits High-Tech
    • Guides d'achat High-Tech
    • JVTech
  • RetourCulture
    • Actus Culture
    • Culture
  • RetourVidéos
    • A la une
    • Gaming Live
    • Vidéos Tests
    • Vidéos Previews
    • Gameplay
    • Trailers
    • Chroniques
    • Replay Web TV
    • Toutes les vidéos
  • RetourForums
    • Hardware PC
    • PS5
    • Switch 2
    • Xbox Series
    • Switch
    • Pokemon pocket
    • FC 25 Ultimate Team
    • League of Legends
    • Tous les Forums
  • PC
  • PS5
  • Xbox Series
  • Switch 2
  • PS4
  • One
  • Switch
  • iOS
  • Android
  • MMO
  • RPG
  • FPS
En ce moment Genshin Impact Valhalla Breath of the wild Animal Crossing GTA 5 Red dead 2
Liste des sujets

créer une commande pour crontab

aodren
aodren
Niveau 10
11 avril 2010 à 23:57:08

Salut a tous.

voilà, j'ai mes conversations de aMSN que je voudrais transférer automatiquement sans le faire a la main lors de chaque démarrage de l'ordinateur par exemple où a un moment donner.

Pour cela je voudrais créer un script que je pourrais utiliser avec crontab.

  • 12 * * * root mkdir /home/aodren/fichier\ de\ sauvegarde\°date && mv /home/aodren/.amsn/*@*/logs/*@* /home/aodren/fichier\ de\ sauvegarde\°date

je sais que ceci ne fonctionne pas, alors incorporer ceci dans un script a lancer ainsi :

  • 12 * * * root /etc/rc.d/script

de cette façon, il envoi mes historiques MSN dans mon fichier de sauvegarde.

par-contre °date sera mon dossier X daté du jour de la sauvegarde que je peux retrouver sous la même forme que /home/user/2010-04-21/ par exemple ou 20100421 me va très bien aussi. (année - mois - jour)

Alors voici mes deux questions :

1- comment je dois créer mon script pour pourvoir utiliser cette commande et si possible lors de chaque boot de l'ordi ?

2- comment, par ligne de code, je peux créer un fichier (répertoire) qui porte la date du jour, et si il existe déjà (dans le cas où je boot le PC 15 fois dans la journée) de réutiliser ce répertoire sans même qui le crée a nouveau ou qu'il remplace ce dernier?

Je ne sais pas si je suis bien clair dans ma requête.

Merci pour vos lumières et vos coups de pouce.

chris_27
chris_27
Niveau 10
12 avril 2010 à 00:18:29

Tu dois pouvoir faire la chose suivante (en tout cas, c'est comme ça qu'on fait des sauvegardes à la résidence de l'ÉNS) :

1) tu crées dans ton home un fichier aodren.cron contenant par exemple :

0 23 * * * tar cjvf /home/aodren/backup/amsn-`date +%d-%m-%y`.tbz2 /home/aodren/.amsn/toto

:d) à 23h (et 0 minutes), tous les jours, toutes les semaines, tous les mois, faire une sauvegarde (compressée avec tar+bzip2).

Ensuite, tu ajoutes ça au spool de cron :
$ crontab aodren.cron

Et le tour est joué. Cela va créer le fichier /var/spool/cron/crontabs/aodren qui sera traité par cron comme il faut.

Le gros avantage, c'est que tu n'as pas besoin d'être root pour faire tout ça.
Au passage, les fichiers ajoutés au spool de cron sont légèrement différent du fichier crontab puisque le champ user n'existe pas (cron prend comme user le nom du fichier).

« /etc/rc.d/script » :d) tu t'égares. Si tu veux éviter de faire quelque chose qui a un rapport avec le boot, ne va pas mettre ça en plein milieu des bootscripts. :oui:

Pour répondre aux questions :
1) bah... là je ne comprends plus pourquoi tu joues avec cron. On va donc dire que la réponse est anacron. Ce daemon s'occupe de lancer ce que cron n'a pas pu lancé parce que la machine était éteinte. Après, je ne connais pas les détails, à toi d'aller lire la page de man.

2) `date +%d-%m-%y` c'est pas mal. Si tu veux un autre format pour la date, va lire :
$ man date

Sinon, si la commande ne doit être exécutée qu'une fois par jour, c'est bien cron que tu veux utiliser et pas un bootscript. Donc laisse moi le boot tranquille. :-)

aodren
aodren
Niveau 10
12 avril 2010 à 09:10:26

merci a toi Chris, tu ma bien éclairé, je vais tenter un truc et je posterais ci ca marche pas :ok:

aodren
aodren
Niveau 10
12 avril 2010 à 09:14:18

une question superficiel qui me passe par la tête :

comment faire aussi un suite de document?

je veut cat toto pour afficher le contenu de toto puis coller ce contenu dans tintin qui a déjà un autre contenu?

cat toto | écho >> tintin ?

merci encore.
enfin là c'est juste pour le fun de dire que je sais faire lol

chris_27
chris_27
Niveau 10
12 avril 2010 à 09:59:26

Tu peux faire :

$ cat toto >> tintin

Même que tintin sera créé s'il n'existe pas.

Mais pour une mise à jour, tu ne veux pas faire comme ça car si la machine plante (ou tout bêtement s'arrête) alors que le daemon fait son cat, tu risques de tout perdre.

chris_27
chris_27
Niveau 10
12 avril 2010 à 10:12:59

Oops, petit add on :

C'est particulièrement idiot de faire un tar verbeux (option v de tar dans ma ligne de cron). Je te propose donc plutôt cette ligne :

0 23 * * * tar cvf /home/aodren/backup/amsn-`date +%d-%m-%y`.tbz2 /home/aodren/.amsn/toto

PS : je suppose que le répertoire /home/aodren/backup a été créé avant.

aodren
aodren
Niveau 10
12 avril 2010 à 10:37:26

alors j'ai trouvé comment le mettre en boot (une application fourni dans mandriva qui gère ca)

seulement je cherche a faire un truc dans ce style :

if test toto/`date +...`; then mv save/*.sav / toto/`date +...` ; else mkdir toto && mv save/*.sav / toto/`date +...`

mais ca marche pas snif

aodren
aodren
Niveau 10
12 avril 2010 à 10:38:23

oups

else mkdir toto/`date +...` [...]

aodren
aodren
Niveau 10
12 avril 2010 à 10:40:44

ok, merci pour le cat

chris_27
chris_27
Niveau 10
12 avril 2010 à 10:58:24

« seulement je cherche a faire ... »

là je m'attends à une phrase en français très générale, pas à du code que je n'ai pas le temps de parser. :(
En plus, comme très souvent, il y a des chances pour que tu sois parti à 1000 lieues de l'outil qui fait exactement ce que tu veux.

« alors j'ai trouvé comment le mettre en boot » :d) Mais non.
Tu lances une action au boot OU ***EXCLUSIF*** tu lances une action à intervalle de temps régulier.
Mais les deux, ça ne marche pas (bien) ! Choisis ton camp !

Ou alors tu cherches à faire deux choses différentes et dans ce cas tu fais deux threads parce que là je ne pige plus rien du tout. :-)

chris_27
chris_27
Niveau 10
12 avril 2010 à 11:04:12

« En plus, comme très souvent, il y a des chances pour que tu sois parti à 1000 lieues de l'outil qui fait exactement ce que tu veux. »
:d) petite précision. Je dis ça de façon très générale. Il m'arrive souvent de tomber moi-même dans ce piège. Quand on ne connaît pas l'existence d'un outil, c'est pas facile de la deviner. C'est pour ça qu'il est important de dire ce qu'on veut faire plutôt que de demander pourquoi un code donné ne "marche pas".

aodren
aodren
Niveau 10
12 avril 2010 à 11:08:15

en faite, sous mandriva, y'a une application qui a l'air de gérer crontab et anacrontab et tout les truc cron. (j'y connais rien en fait mais ca on l'a tous compris lol). et cet outil me propose de lancer un script a chaque démarrage au lieu d'une heure précise ou un jour précis.
ca me facilite la tache.

voici le screenshot du logiciel :

maintenant qu'il va gérer tout seul l'exécution du script en question, il ne me reste plus qu'a le créer ce scrypt.

donc là je demande comment :

1- vérifier si le répertoire de sauvegarde existe
2- de le créer si il n'existe pas
3- de copier les documents dans ce répertoire dans tout les cas(je sais le faire lui)

donc je pensais a une variable avec if, then...

aodren
aodren
Niveau 10
12 avril 2010 à 11:08:54

le screen (dsl du double poste)

http://img696.imageshack.us/img696/9339/br2n.jpg

chris_27
chris_27
Niveau 10
12 avril 2010 à 11:13:37

Non, tu ne cherches pas à faire ton 1-2-3. Ton but est plus général que ça.

aodren
aodren
Niveau 10
12 avril 2010 à 11:15:11

4- si les fichiers a copier existe déjà, de les remplacer par ces dernier.

je créerais une taches dans crontab qui me permet d'effacer les fichiers que je sauvegarde du répertoire d'origine a chaque début de mois.

chris_27
chris_27
Niveau 10
12 avril 2010 à 12:15:09

« sauvegarde à chaque début de mois » :d) donc arrête de me parler de boot, c'est HORS SUJET.

De plus, comme tu fais ça une fois par mois, il n'y a AUCUNE raison de tester une quelconque existence de répertoire (celui-ci sera créer pour l'occasion lors que cron/anacron lancera ton script en début de mois).

Tu cherches effroyablement compliqué là où c'est simple. :(

aodren
aodren
Niveau 10
12 avril 2010 à 14:13:11

non effacer les documents originaux a chaque début de mois...

après le truc c'est les sauvegarde s'effectue automatiquement a chaque boot. enfin c'est mon idée.

chris_27
chris_27
Niveau 10
14 avril 2010 à 00:51:19

Ça y est ? Tu as choisi ton camp ? :-)

Sous forums
  • Aide à l'achat Mac
  • Création de Jeux
  • Linux
  • Programmation
  • Création de sites web
  • Internet
  • Steam Deck
  • Macintosh
  • Hardware
La vidéo du moment