Ich mache ein Backup-Skript für ldap. Ich möchte, dass die Fehler in eine Datei in / var / log und die Ausgabe in eine andere Datei im Sicherungsordner verschoben werden. Derzeit leite ich zu einer temporären Datei um und sende die temporäre Datei dann an das Protokoll. Ich mache das aber lieber als 1 Liner ...
/usr/bin/ldapsearch -x -LLL -b "dc=contoso,dc=com" "(objectclass=*)" -h ldap.server -v 2>>/tmp/ldaptmp.err |
gzip -c > /mnt/backups/ldap/`date +\%Y\%m\%d`.ldif.gz ||
logger -t ldapbackup -p local6.err error exit $?
cat /tmp/ldaptmp.err | grep -v "ldap_initialize( ldap://ldap.server )" |
grep -v "filter: (objectclass=\*)" |
grep -v "requesting: All userApplication attributes" >$ERR_LOG
rm -f /tmp/ldaptmp.err
Irgendwelche Ideen, wie man stderr und stdout in verschiedene Pipes umleitet, um diesen Befehl in einer Zeile zusammenzufassen? Oder gibt es einen besseren Weg?