Po prostudování dokumentace bash, této a této otázky mi stále není jasné, jak mohu provádět operace atomického zápisu (připojení) k souboru v bash. Mám skript, který se spouští ve více instancích a v určitém okamžiku musí zapisovat data do souboru:
echo "$RESULT" >> `pwd`/$TEMP_DIR/$OUT_FILE
Jak je možné, aby byly všechny operace zápisu ze všech souběžně spuštěných skriptů do tohoto souboru atomické (takže data z jedné instance nepřekrývají data z jiné)?
Přijatá odpověď:
Zdá se, že musíte použít flock
jako v příkladu z man (http://linux.die.net/man/1/flock)
(
flock -x 200
# Put here your commands that must do some writes atomically
) 200>/var/lock/mylockfile
A vložte všechny své příkazy, které musí být atomické, do ().
Získání všech souborů, které byly upraveny ke konkrétnímu datu?
Spuštění skriptu s „. “ A se „zdrojem“?