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?
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'accumulen t. 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.
Il se peut que l'hébergeur bloque ce genre de script. Je vais faire un script en PHP c'est sur qu'il marchera.
Merci pour votre aide je vais me mettre à Linux et je pense que j'aurai encore besoin de conseil.
Paul
Le 09/08/2010 21:01, Yliur a écrit :
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'accumulen t.
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.
Il se peut que l'hébergeur bloque ce genre de script.
Je vais faire un script en PHP c'est sur qu'il marchera.
Merci pour votre aide je vais me mettre à Linux et je pense que j'aurai
encore besoin de conseil.
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'accumulen t. 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.
Il se peut que l'hébergeur bloque ce genre de script. Je vais faire un script en PHP c'est sur qu'il marchera.
Merci pour votre aide je vais me mettre à Linux et je pense que j'aurai encore besoin de conseil.
Paul
Nicolas George
Erwan David wrote in message :
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.
# -exec utility_name [argument ...] {} + # # If the primary expression is punctuated by a plus sign, the primary # shall always evaluate as true, and the pathnames for which the primary # is evaluated shall be aggregated into sets. The utility utility_name # shall be invoked once for each set of aggregated pathnames.
Non mais !
Soit dit en passant, le texte que je cite est antérieur à 2001. Alors que :
# 2005-01-09 James Youngman # # * find/defs.h, find/find.c, find/parser.c, find/pred.c, lib/buildcmd.c, # Initial implementation of -exec ..{} +, but currently disabled since # not yet working
(issu du ChangeLog des findutils)
Erwan David wrote in message <m2lj8ff4lj.fsf@rail.eu.org>:
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.
# -exec utility_name [argument ...] {} +
#
# If the primary expression is punctuated by a plus sign, the primary
# shall always evaluate as true, and the pathnames for which the primary
# is evaluated shall be aggregated into sets. The utility utility_name
# shall be invoked once for each set of aggregated pathnames.
Non mais !
Soit dit en passant, le texte que je cite est antérieur à 2001. Alors que :
# 2005-01-09 James Youngman <jay@gnu.org>
#
# * find/defs.h, find/find.c, find/parser.c, find/pred.c, lib/buildcmd.c,
# Initial implementation of -exec ..{} +, but currently disabled since
# not yet working
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.
# -exec utility_name [argument ...] {} + # # If the primary expression is punctuated by a plus sign, the primary # shall always evaluate as true, and the pathnames for which the primary # is evaluated shall be aggregated into sets. The utility utility_name # shall be invoked once for each set of aggregated pathnames.
Non mais !
Soit dit en passant, le texte que je cite est antérieur à 2001. Alors que :
# 2005-01-09 James Youngman # # * find/defs.h, find/find.c, find/parser.c, find/pred.c, lib/buildcmd.c, # Initial implementation of -exec ..{} +, but currently disabled since # not yet working
(issu du ChangeLog des findutils)
Benoit Izac
Bonjour,
le 11/08/2010 à 10:36, Michael DENIS a écrit dans le message <4c626106$0$8055$ :
<mode devinette> car je n'ai jamais utilisé cette option de find
-exec
et exécuter
rm -f
la suppression forcée
{} +
de la liste retournée par find </mode devinette>
Le « + » permet d'exécuter la commande « rm -f » avec ARG_MAX (4096 selon POSIX, 131072 sur mon système) arguments maximum retournés par find.
Si par exemple « find / -name toto » retourne 7654 arguments et que ARG_MAX vaut 4096, « find / -name toto -exec ls {} + » va exécuter deux fois « ls », une fois avec les 4096 premiers résultats, puis une seconde avec les 3558 restants.
Si on avait utilisé « find / -name toto -exec ls {} ; », « ls » aurait été exécuté 7654 fois avec à chaque fois un seul argument.
-- Benoit Izac
Bonjour,
le 11/08/2010 à 10:36, Michael DENIS a écrit dans le message
<4c626106$0$8055$426a74cc@news.free.fr> :
<mode devinette>
car je n'ai jamais utilisé cette option de find
-exec
et exécuter
rm -f
la suppression forcée
{} +
de la liste retournée par find
</mode devinette>
Le « + » permet d'exécuter la commande « rm -f » avec ARG_MAX (4096
selon POSIX, 131072 sur mon système) arguments maximum retournés par
find.
Si par exemple « find / -name toto » retourne 7654 arguments et que
ARG_MAX vaut 4096, « find / -name toto -exec ls {} + » va exécuter deux
fois « ls », une fois avec les 4096 premiers résultats, puis une seconde
avec les 3558 restants.
Si on avait utilisé « find / -name toto -exec ls {} ; », « ls » aurait
été exécuté 7654 fois avec à chaque fois un seul argument.
le 11/08/2010 à 10:36, Michael DENIS a écrit dans le message <4c626106$0$8055$ :
<mode devinette> car je n'ai jamais utilisé cette option de find
-exec
et exécuter
rm -f
la suppression forcée
{} +
de la liste retournée par find </mode devinette>
Le « + » permet d'exécuter la commande « rm -f » avec ARG_MAX (4096 selon POSIX, 131072 sur mon système) arguments maximum retournés par find.
Si par exemple « find / -name toto » retourne 7654 arguments et que ARG_MAX vaut 4096, « find / -name toto -exec ls {} + » va exécuter deux fois « ls », une fois avec les 4096 premiers résultats, puis une seconde avec les 3558 restants.
Si on avait utilisé « find / -name toto -exec ls {} ; », « ls » aurait été exécuté 7654 fois avec à chaque fois un seul argument.