Rulați rsync complet silențios? (Administrarea sistemului, Ssh, Rsync)

jackr a intrebat.

Am un cronjob care se execută din oră în oră și este complet silențios, cu excepția cazului în care ceva nu merge prost. Ei bine… aproape…

O parte a lucrării este

rsync --del -Cacqrz public/. [email protected]:/target/path

Aceasta tipărește întotdeauna „logat”. Cum pot să fac să se oprească? (Scurt de „grep -v” 😉

Nu primesc mesajul „logat” dacă fac lucruri precum

ssh [email protected] ls

Transportul este, bineînțeles, ssh (folosind chei).

Gazda sursă este fie OSX, fie Ubuntu (am încercat ambele, același comportament). gazda țintă este Linux de o anumită aromă.

Comentarii

  • Puteți schimba verbozitatea implicită a ssh în ~/.ssh/config sau la nivel global în ssh_config (locația variază în funcție de distribuție). –  > Por Aaron.
2 răspunsuri
Thomas Decaux

quiet opțiunea ar trebui să facă acest lucru:

-q, --quiet suppress non-error messages

Comentarii

  • Folosesc rsync „-q”, care înăbușă cu succes o mulțime de baliverne, dar nu oprește acest mesaj (care nu pare a fi o problemă pentru mine). Cred că mesajul neafectat provine de la ssh/scp, dar nu am acces direct la acea linie de comandă. Așa că nu văd cum mă ajută sugestia ta. –  > Por jackr.
  • Puteți modifica opțiunile ssh: rsync -e 'ssh -q' va împiedica ssh să mai afișeze bannerul ssh, de exemplu. –  > Por Angelo.
EEAA

Puteți redirecționa stdout și stderr către /dev/null cu ceva de genul:

<command> 2>&1 >/dev/null

Comentarii

  • …și apoi verificați codul de returnare de la rsync ($?) — dacă este diferit de zero, ceva nu a mers bine și trebuie să gestionați această eroare în mod elegant. –  > Por voretaq7.
  • @voretaq7 Meh, e vineri. Beau bere. Nu mă pot gândi la astfel de lucruri 🙂 –  > Por EEAA.
  • Verificarea erorilor? NIMENI NU ARE TIMP PENTRU ASTA! –  > Por voretaq7.

Tags:,