Comment générer automatiquement un file à partir d'un script avec la date actuelle en tant que nom de file?

J'ai un script shell qui génère des sorties. La sortie est écrite dans un file. Dans mon cronjob, je l'ai: ./myscript.sh –options> output Parce que le cronjob fonctionne chaque semaine, je voudrais conserver une list de sorties au lieu de les écraser toutes les fois que le script s'exécute. Donc, idéalement, j'aimerais avoir le nom du file de sortie comme date de sortie . La date est la date de fonctionnement du script actuel. Dans Unix, la command de date peut vous donner des informations sur la date actuelle, mais comment puis-je l'intégrer au nom du file de sortie?

Mettre à jour:

J'ai essayé les methods de Heath et Wfaulk, ça marche bien. Cependant, lorsque j'ai mis la même command dans cronjob, j'ai commencé à get l'erreur: / bin / sh: -c: ligne 0: EOF inattendu pendant la search de “ '' / bin / sh: -c: ligne 1: syntaxe erreur: fin inattendue du file

Je sais que cela est causé par la sortie d'un file nommé sortie _ $ (date +% Y% m% d) puisque c'est le seul changement que j'ai fait. Existe-t-il un moyen différent de le faire dans Cronjob?

myscript.sh > output_$(date +%Y%m%d) 

La command de la date fait ce que vous avez demandé, mais logrotate est destiné à ce que vous essayez de faire et garderez les choses nettoyées … Il vaut la peine d'apprendre à mon avis.

 ./myscript.sh --options > output_$(date) 

Mais vous voulez probablement utiliser un format de date différent pour qu'il ne dispose pas d'espaces et de déchets. Quelque chose comme:

 ./myscript.sh --options > output_$(date +%Y%m%d.%H%M%S) 

Au risque que votre shell ne supporte pas la syntaxe $ (), remplacez le $( et son correspondance ) par un " ` "(backtick).

./myscript.sh –options> sortie _ $ (date)