J'ai un site h=E9berg=E9 sur un serveur Linux et veux effacer dans un=20
r=E9pertoire tous les fichiers .jpg issus d'une webcam qui s'accumulent.
J'ai la possibilit=E9 de lancer une tache planifi=E9e.
Je pensais =E0 un fichier bash :
#!/bin/bash
rm -f *.jpg
Je suis novice sur Linux, est-ce que cela peut marcher?
J'ai un site hébergé sur un serveur Linux et veux effacer dans un répertoire tous les fichiers .jpg issus d'une webcam qui s'accumulent. J'ai la possibilité de lancer une tache planifiée. Je pensais à un fichier bash : #!/bin/bash rm -f *.jpg Je suis novice sur Linux, est-ce que cela peut marcher?
Merci de votre attention.
Dans une petite boucle : for i in `find . -name "*.jpg"` do rm -f $i done
Il faudra bien sur se placer dans le bon répertoire avant. Si tu veux garder certaines images, tu peux aller voir du coté de find et de ses option ctime / mtime Il y a pas mal de littérature à ce propos sur le web.
Le 09/08/2010 17:54, ppellero a écrit :
Bonjour,
J'ai un site hébergé sur un serveur Linux et veux effacer dans un
répertoire tous les fichiers .jpg issus d'une webcam qui s'accumulent.
J'ai la possibilité de lancer une tache planifiée.
Je pensais à un fichier bash :
#!/bin/bash
rm -f *.jpg
Je suis novice sur Linux, est-ce que cela peut marcher?
Merci de votre attention.
Dans une petite boucle :
for i in `find . -name "*.jpg"`
do
rm -f $i
done
Il faudra bien sur se placer dans le bon répertoire avant.
Si tu veux garder certaines images, tu peux aller voir du coté de find
et de ses option ctime / mtime
Il y a pas mal de littérature à ce propos sur le web.
J'ai un site hébergé sur un serveur Linux et veux effacer dans un répertoire tous les fichiers .jpg issus d'une webcam qui s'accumulent. J'ai la possibilité de lancer une tache planifiée. Je pensais à un fichier bash : #!/bin/bash rm -f *.jpg Je suis novice sur Linux, est-ce que cela peut marcher?
Merci de votre attention.
Dans une petite boucle : for i in `find . -name "*.jpg"` do rm -f $i done
Il faudra bien sur se placer dans le bon répertoire avant. Si tu veux garder certaines images, tu peux aller voir du coté de find et de ses option ctime / mtime Il y a pas mal de littérature à ce propos sur le web.
Yliur
Le Mon, 09 Aug 2010 17:54:48 +0200 ppellero a écrit :
Bonjour,
J'ai un site hébergé sur un serveur Linux et veux effacer dans un répertoire tous les fichiers .jpg issus d'une webcam qui s'accumulent. J'ai la possibilité de lancer une tache planifiée. Je pensais à un fichier bash : #!/bin/bash rm -f *.jpg Je suis novice sur Linux, est-ce que cela peut marcher?
Merci de votre attention.
Attention au répertoire qui sera le répertoire courant au moment d'exécuter ce script.
Le Mon, 09 Aug 2010 17:54:48 +0200
ppellero <paulo@pellero.net> a écrit :
Bonjour,
J'ai un site hébergé sur un serveur Linux et veux effacer dans un
répertoire tous les fichiers .jpg issus d'une webcam qui s'accumulent.
J'ai la possibilité de lancer une tache planifiée.
Je pensais à un fichier bash :
#!/bin/bash
rm -f *.jpg
Je suis novice sur Linux, est-ce que cela peut marcher?
Merci de votre attention.
Attention au répertoire qui sera le répertoire courant au moment
d'exécuter ce script.
Le Mon, 09 Aug 2010 17:54:48 +0200 ppellero a écrit :
Bonjour,
J'ai un site hébergé sur un serveur Linux et veux effacer dans un répertoire tous les fichiers .jpg issus d'une webcam qui s'accumulent. J'ai la possibilité de lancer une tache planifiée. Je pensais à un fichier bash : #!/bin/bash rm -f *.jpg Je suis novice sur Linux, est-ce que cela peut marcher?
Merci de votre attention.
Attention au répertoire qui sera le répertoire courant au moment d'exécuter ce script.
Yliur
Le Mon, 09 Aug 2010 19:45:27 +0200 olafkewl a écrit :
Le 09/08/2010 17:54, ppellero a écrit : > Bonjour, > > J'ai un site hébergé sur un serveur Linux et veux effacer dans un > répertoire tous les fichiers .jpg issus d'une webcam qui > s'accumulent. J'ai la possibilité de lancer une tache planifiée. > Je pensais à un fichier bash : > #!/bin/bash > rm -f *.jpg > Je suis novice sur Linux, est-ce que cela peut marcher? > > Merci de votre attention.
Dans une petite boucle : for i in `find . -name "*.jpg"` do rm -f $i done
Quel est l'avantage de cette solution ?
Il faudra bien sur se placer dans le bon répertoire avant. Si tu veux garder certaines images, tu peux aller voir du coté de find et de ses option ctime / mtime Il y a pas mal de littérature à ce propos sur le web.
Le Mon, 09 Aug 2010 19:45:27 +0200
olafkewl <olafkewl@libertysurf.fr> a écrit :
Le 09/08/2010 17:54, ppellero a écrit :
> Bonjour,
>
> J'ai un site hébergé sur un serveur Linux et veux effacer dans un
> répertoire tous les fichiers .jpg issus d'une webcam qui
> s'accumulent. J'ai la possibilité de lancer une tache planifiée.
> Je pensais à un fichier bash :
> #!/bin/bash
> rm -f *.jpg
> Je suis novice sur Linux, est-ce que cela peut marcher?
>
> Merci de votre attention.
Dans une petite boucle :
for i in `find . -name "*.jpg"`
do
rm -f $i
done
Quel est l'avantage de cette solution ?
Il faudra bien sur se placer dans le bon répertoire avant.
Si tu veux garder certaines images, tu peux aller voir du coté de
find et de ses option ctime / mtime
Il y a pas mal de littérature à ce propos sur le web.
Le Mon, 09 Aug 2010 19:45:27 +0200 olafkewl a écrit :
Le 09/08/2010 17:54, ppellero a écrit : > Bonjour, > > J'ai un site hébergé sur un serveur Linux et veux effacer dans un > répertoire tous les fichiers .jpg issus d'une webcam qui > s'accumulent. J'ai la possibilité de lancer une tache planifiée. > Je pensais à un fichier bash : > #!/bin/bash > rm -f *.jpg > Je suis novice sur Linux, est-ce que cela peut marcher? > > Merci de votre attention.
Dans une petite boucle : for i in `find . -name "*.jpg"` do rm -f $i done
Quel est l'avantage de cette solution ?
Il faudra bien sur se placer dans le bon répertoire avant. Si tu veux garder certaines images, tu peux aller voir du coté de find et de ses option ctime / mtime Il y a pas mal de littérature à ce propos sur le web.
Ericus
Salut
c'est quoi l'avantage d'une boucle par rapport au rm *.jpg ?
à+ eric
Le 09/08/10 19:45, olafkewl a écrit :
Le 09/08/2010 17:54, ppellero a écrit :
Bonjour,
J'ai un site hébergé sur un serveur Linux et veux effacer dans un répertoire tous les fichiers .jpg issus d'une webcam qui s'accumulent. J'ai la possibilité de lancer une tache planifiée. Je pensais à un fichier bash : #!/bin/bash rm -f *.jpg Je suis novice sur Linux, est-ce que cela peut marcher?
Merci de votre attention.
Dans une petite boucle : for i in `find . -name "*.jpg"` do rm -f $i done
Il faudra bien sur se placer dans le bon répertoire avant. Si tu veux garder certaines images, tu peux aller voir du coté de find et de ses option ctime / mtime Il y a pas mal de littérature à ce propos sur le web.
Salut
c'est quoi l'avantage d'une boucle par rapport au rm *.jpg ?
à+
eric
Le 09/08/10 19:45, olafkewl a écrit :
Le 09/08/2010 17:54, ppellero a écrit :
Bonjour,
J'ai un site hébergé sur un serveur Linux et veux effacer dans un
répertoire tous les fichiers .jpg issus d'une webcam qui s'accumulent.
J'ai la possibilité de lancer une tache planifiée.
Je pensais à un fichier bash :
#!/bin/bash
rm -f *.jpg
Je suis novice sur Linux, est-ce que cela peut marcher?
Merci de votre attention.
Dans une petite boucle :
for i in `find . -name "*.jpg"`
do
rm -f $i
done
Il faudra bien sur se placer dans le bon répertoire avant.
Si tu veux garder certaines images, tu peux aller voir du coté de find
et de ses option ctime / mtime
Il y a pas mal de littérature à ce propos sur le web.
c'est quoi l'avantage d'une boucle par rapport au rm *.jpg ?
à+ eric
Le 09/08/10 19:45, olafkewl a écrit :
Le 09/08/2010 17:54, ppellero a écrit :
Bonjour,
J'ai un site hébergé sur un serveur Linux et veux effacer dans un répertoire tous les fichiers .jpg issus d'une webcam qui s'accumulent. J'ai la possibilité de lancer une tache planifiée. Je pensais à un fichier bash : #!/bin/bash rm -f *.jpg Je suis novice sur Linux, est-ce que cela peut marcher?
Merci de votre attention.
Dans une petite boucle : for i in `find . -name "*.jpg"` do rm -f $i done
Il faudra bien sur se placer dans le bon répertoire avant. Si tu veux garder certaines images, tu peux aller voir du coté de find et de ses option ctime / mtime Il y a pas mal de littérature à ce propos sur le web.
Damien Goutte-Gattat
On Mon, 09 Aug 2010 21:04:16 +0200, Ericus wrote:
c'est quoi l'avantage d'une boucle par rapport au rm *.jpg ?
Le simple "rm *.jpg" présente un risque : s’il y a vraiment *beaucoup* de fichiers, l’expansion du wildcard peut dépasser la taille maximale autorisée pour une ligne de commande, produisant une erreur « Argument list too long ».
La boucle proposée souffre du même problème et donc n’offre pas d’avantage particulier par rapport au "rm *.jpg" (du moins à ma connaissance), en revanche une boucle dans ce genre :
find . -name "*.jpg" | while read x do rm -f $x done
contourne le problème.
Néanmoins dans ce cas précis, le but étant de supprimer les fichiers, le plus simple me semble être l’option -delete de find, permettant de faire directement :
find . -name "*.jpg" -delete
On Mon, 09 Aug 2010 21:04:16 +0200, Ericus wrote:
c'est quoi l'avantage d'une boucle par rapport au rm *.jpg ?
Le simple "rm *.jpg" présente un risque : s’il y a vraiment *beaucoup* de
fichiers, l’expansion du wildcard peut dépasser la taille maximale
autorisée pour une ligne de commande, produisant une erreur « Argument
list too long ».
La boucle proposée souffre du même problème et donc n’offre pas
d’avantage particulier par rapport au "rm *.jpg" (du moins à ma
connaissance), en revanche une boucle dans ce genre :
find . -name "*.jpg" | while read x
do
rm -f $x
done
contourne le problème.
Néanmoins dans ce cas précis, le but étant de supprimer les fichiers, le
plus simple me semble être l’option -delete de find, permettant de faire
directement :
c'est quoi l'avantage d'une boucle par rapport au rm *.jpg ?
Le simple "rm *.jpg" présente un risque : s’il y a vraiment *beaucoup* de fichiers, l’expansion du wildcard peut dépasser la taille maximale autorisée pour une ligne de commande, produisant une erreur « Argument list too long ».
La boucle proposée souffre du même problème et donc n’offre pas d’avantage particulier par rapport au "rm *.jpg" (du moins à ma connaissance), en revanche une boucle dans ce genre :
find . -name "*.jpg" | while read x do rm -f $x done
contourne le problème.
Néanmoins dans ce cas précis, le but étant de supprimer les fichiers, le plus simple me semble être l’option -delete de find, permettant de faire directement :
find . -name "*.jpg" -delete
Nicolas George
Damien Goutte-Gattat wrote in message :
Le simple "rm *.jpg" présente un risque : s’il y a vraiment *beaucoup* de fichiers, l’expansion du wildcard peut dépasser la taille maximale autorisée pour une ligne de commande, produisant une erreur « Argument list too long ».
Cette limite n'existe plus depuis Linux 2.6.23.
La boucle proposée souffre du même problème
Non, la liste n'est pas passée à travers l'exécution d'une commande externe.
et donc n’offre pas d’avantage particulier par rapport au "rm *.jpg" (du moins à ma connaissance), en revanche une boucle dans ce genre : find . -name "*.jpg" | while read x do rm -f $x done contourne le problème.
Mais les deux se vautrent lamentablement quand il y a des espaces dans les noms de fichiers. Ou n'importe quel caractère spécial, ici, puisque $x n'est pas échappé.
Damien Goutte-Gattat wrote in message
<efCdnbkIg_gA_P3RnZ2dnUVZ7sCdnZ2d@giganews.com>:
Le simple "rm *.jpg" présente un risque : s’il y a vraiment *beaucoup* de
fichiers, l’expansion du wildcard peut dépasser la taille maximale
autorisée pour une ligne de commande, produisant une erreur « Argument
list too long ».
Cette limite n'existe plus depuis Linux 2.6.23.
La boucle proposée souffre du même problème
Non, la liste n'est pas passée à travers l'exécution d'une commande externe.
et donc n’offre pas
d’avantage particulier par rapport au "rm *.jpg" (du moins à ma
connaissance), en revanche une boucle dans ce genre :
find . -name "*.jpg" | while read x
do
rm -f $x
done
contourne le problème.
Mais les deux se vautrent lamentablement quand il y a des espaces dans les
noms de fichiers. Ou n'importe quel caractère spécial, ici, puisque $x n'est
pas échappé.
Le simple "rm *.jpg" présente un risque : s’il y a vraiment *beaucoup* de fichiers, l’expansion du wildcard peut dépasser la taille maximale autorisée pour une ligne de commande, produisant une erreur « Argument list too long ».
Cette limite n'existe plus depuis Linux 2.6.23.
La boucle proposée souffre du même problème
Non, la liste n'est pas passée à travers l'exécution d'une commande externe.
et donc n’offre pas d’avantage particulier par rapport au "rm *.jpg" (du moins à ma connaissance), en revanche une boucle dans ce genre : find . -name "*.jpg" | while read x do rm -f $x done contourne le problème.
Mais les deux se vautrent lamentablement quand il y a des espaces dans les noms de fichiers. Ou n'importe quel caractère spécial, ici, puisque $x n'est pas échappé.
j'ai mis les droits à 777 au fichier "efface_jpg" et il est dans le répertoire où se trouvent les .jpg. Il est lancé par une tache qui s'exécute toutes les heures.
As-tu vérifié que le script s’exécutait dans le bon répertoire ? Au besoin rends-toi dans le répertoire cible voulu avant le find. Ou bien précise à find le chemin absolu vers ce répertoire, au lieu du . signifiant le répertoire courant :
find /répertoire -name "*.jpg" -delete
Placer le script dans le répertoire où tu veux effacer les fichiers n’est pas utile. Le répertoire courant ne dépend pas de l’emplacement du script.
On Mon, 09 Aug 2010 23:27:53 +0200, ppellero wrote:
j'ai mis les droits à 777 au fichier "efface_jpg" et il est dans le
répertoire où se trouvent les .jpg. Il est lancé par une tache qui
s'exécute toutes les heures.
As-tu vérifié que le script s’exécutait dans le bon répertoire ? Au
besoin rends-toi dans le répertoire cible voulu avant le find. Ou bien
précise à find le chemin absolu vers ce répertoire, au lieu du .
signifiant le répertoire courant :
find /répertoire -name "*.jpg" -delete
Placer le script dans le répertoire où tu veux effacer les fichiers n’est
pas utile. Le répertoire courant ne dépend pas de l’emplacement du script.
j'ai mis les droits à 777 au fichier "efface_jpg" et il est dans le répertoire où se trouvent les .jpg. Il est lancé par une tache qui s'exécute toutes les heures.
As-tu vérifié que le script s’exécutait dans le bon répertoire ? Au besoin rends-toi dans le répertoire cible voulu avant le find. Ou bien précise à find le chemin absolu vers ce répertoire, au lieu du . signifiant le répertoire courant :
find /répertoire -name "*.jpg" -delete
Placer le script dans le répertoire où tu veux effacer les fichiers n’est pas utile. Le répertoire courant ne dépend pas de l’emplacement du script.
Nicolas George
Erwan David wrote in message :
Mais si on a le gnu find (en général c'est le cas sous linux) on peut se passer du xargs et faire find . -type f -name "*.jpg" -exec rm -f {} +
Cette construction est dans la norme Unix, ce n'est pas spécifique à GNU find. D'ailleurs, GNU find a plutôt été à la traîne pour l'avoir.
Erwan David wrote in message
<m239unedx4.fsf@draisine.depot.rail.eu.org>:
Mais si on a le gnu find (en général c'est le cas sous linux) on peut se
passer du xargs et faire
find . -type f -name "*.jpg" -exec rm -f {} +
Cette construction est dans la norme Unix, ce n'est pas spécifique à GNU
find. D'ailleurs, GNU find a plutôt été à la traîne pour l'avoir.
Mais si on a le gnu find (en général c'est le cas sous linux) on peut se passer du xargs et faire find . -type f -name "*.jpg" -exec rm -f {} +
Cette construction est dans la norme Unix, ce n'est pas spécifique à GNU find. D'ailleurs, GNU find a plutôt été à la traîne pour l'avoir.
Erwan David
Nicolas George <nicolas$ écrivait :
Erwan David wrote in message :
Mais si on a le gnu find (en général c'est le cas sous linux) on peut se passer du xargs et faire find . -type f -name "*.jpg" -exec rm -f {} +
Cette construction est dans la norme Unix, ce n'est pas spécifique à GNU find. D'ailleurs, GNU find a plutôt été à la traîne pour l'avoir.
Le + est GNU, avec un ; à la place c'est standard. Mais ça forque un rl parfichier, alors que le +, comme le xargs va regrouper les fichiers pour moins forker.
-- Le travail n'est pas une bonne chose. Si ça l'était, les riches l'auraient accaparé
Nicolas George <nicolas$george@salle-s.org> écrivait :
Erwan David wrote in message
<m239unedx4.fsf@draisine.depot.rail.eu.org>:
Mais si on a le gnu find (en général c'est le cas sous linux) on peut se
passer du xargs et faire
find . -type f -name "*.jpg" -exec rm -f {} +
Cette construction est dans la norme Unix, ce n'est pas spécifique à GNU
find. D'ailleurs, GNU find a plutôt été à la traîne pour l'avoir.
Le + est GNU, avec un ; à la place c'est standard. Mais ça forque un rl
parfichier, alors que le +, comme le xargs va regrouper les fichiers
pour moins forker.
--
Le travail n'est pas une bonne chose. Si ça l'était,
les riches l'auraient accaparé
Mais si on a le gnu find (en général c'est le cas sous linux) on peut se passer du xargs et faire find . -type f -name "*.jpg" -exec rm -f {} +
Cette construction est dans la norme Unix, ce n'est pas spécifique à GNU find. D'ailleurs, GNU find a plutôt été à la traîne pour l'avoir.
Le + est GNU, avec un ; à la place c'est standard. Mais ça forque un rl parfichier, alors que le +, comme le xargs va regrouper les fichiers pour moins forker.
-- Le travail n'est pas une bonne chose. Si ça l'était, les riches l'auraient accaparé