Sto cercando di scrivere un piccolo script di bash per, una volta avviato, guardare una directory per tutti i file appena creati. Se viene visualizzato un nuovo file, voglio che la sua presenza attivi un secondo script da eseguire.Esecuzione di uno script bash al momento della creazione del file
Vedo che viene utilizzato per attivare la compressione di video digitalizzato di recente e aggiungerlo a un registro di metraggio ingerito.
Attualmente il mio codice simile a questo:
#!/bin/sh
##VIDSTAT is a global variable coming from a parent script.
##proj is the ingestion directory coming from a parent script
proj=$1
dir="/home/$USER/data/movies/$proj"
dirlist=$(ls $dir)
while { $VIDSTAT -eq 1 }:
do
for mov in $dirlist
do
if [ "$(($(date +"%s") - $(stat -c "%Y" $mov)))" -lt "5" ]
then
~/bin/compressNlog.sh $mov
fi
done
done
Esiste un/meno modo intensivo di memoria più facile/più pulito per fare questo?
EDIT Cambierò la directory di importazione per sessione di acquisizione. Ho regolato il codice di conseguenza
Fai attenzione. Lo script potrebbe essere eseguito prima che l'applicazione abbia finito di scrivere il file e comprimerà un file incompleto. – Barmar