2010-07-09 7 views
0
FILE=a.txt 
FILE_SIZE = `stat -c %s $FILE` 

if [ $FILESIZE >= 1000 ]; then 

    cp $FILE /tmp/ 

    # How to empty file ? 

then 

Je suis en train d'obtenir la taille du fichier et si la taille est sur ces fichiers et limité cp et vider le même fichierComment trouver la taille du fichier

Comment Acheive cela?

Répondre

1

Vous seriez probablement mieux de faire quelque chose comme:

mv ${FILE} ${FILE}.staging 

depuis ce sera quasi-atomique dans le temps.

Puis mv au système de fichiers tmp après que les processus vont recréer un nouveau ${FILE}.

Gardez à l'esprit que, si vous avez une écriture de processus vécu longtemps à ${FILE}, il continuera d'écrire à ${FILE}.staging après le premier mouvement. Mais, si vous avez juste beaucoup de processus qui ouvrent/écrivent/ferment votre fichier, le mouvement atomique est probablement le moyen le plus sûr de le faire.

1
echo > $FILE 

Mais sachez que si quelque chose est en train d'écrire encore le fichier, vous perdrez la sortie qui se produit entre le cp et le echo.

Questions connexes