Ik weet dat het mogelijk is om stderr naar een pipe te sturen:
programma 2>&1 | ander
ook alleen stderr naar een pipe sturen is mogelijk:
programma 2>&1 1>&- | ander
Maar is het ook mogelijk om stdout en stderr naar verschillende programma's te sturen?
Dus zoiets:
programma 1| ander-out 2| ander-err
(bovenstaande werkt niet dus)
Ik wil dit doen om in een backup programma de output van tar -v (alle bestanden die naar tape geschreven worden) van een timestamp te voorzien en naar een database te schrijven, terwijl ik hetzelfde wil doen met de foutmeldingen, maar die moeten naar een andere tabel. Nu gebruik ik hier named pipes (fifo) voor, maar daar blijkt dat de programma's die de logregels "oppakken" en naar de database schrijven, bij het afsluiten van tar alle logregels / files in een keer krijgen. Alle logregels en files krijgen dus als timestamp het moment dat de backup stopt...
Ik heb ook met wat voorbeelden van Internet geprobeerd een C-programma te schrijven, maar ik ben geen C-held (leuke woordspeling trouwens), en bovendien, dat zou betekenen dat er nóg een extra taal toegevoegd zou worden aan het programma. (Naast Bash, PHP, SQL en HTML).
Tenslotte dit is op een linux-machine met kernel 2.2.18.
programma 2>&1 | ander
ook alleen stderr naar een pipe sturen is mogelijk:
programma 2>&1 1>&- | ander
Maar is het ook mogelijk om stdout en stderr naar verschillende programma's te sturen?
Dus zoiets:
programma 1| ander-out 2| ander-err
(bovenstaande werkt niet dus)
Ik wil dit doen om in een backup programma de output van tar -v (alle bestanden die naar tape geschreven worden) van een timestamp te voorzien en naar een database te schrijven, terwijl ik hetzelfde wil doen met de foutmeldingen, maar die moeten naar een andere tabel. Nu gebruik ik hier named pipes (fifo) voor, maar daar blijkt dat de programma's die de logregels "oppakken" en naar de database schrijven, bij het afsluiten van tar alle logregels / files in een keer krijgen. Alle logregels en files krijgen dus als timestamp het moment dat de backup stopt...
Ik heb ook met wat voorbeelden van Internet geprobeerd een C-programma te schrijven, maar ik ben geen C-held (leuke woordspeling trouwens), en bovendien, dat zou betekenen dat er nóg een extra taal toegevoegd zou worden aan het programma. (Naast Bash, PHP, SQL en HTML).
Tenslotte dit is op een linux-machine met kernel 2.2.18.