Errore rsync errore inspiegabile (codice 255) su io.c


8

Stavo usando uno script per eseguire rsync sudo crontab. Lo script esegue una rsync a 2 vie (dal server A al server B e viceversa). Dopo aver riavviato entrambi i computer server, rsync non funziona sudo crontab. Ho anche impostato un nuovo cronjob e non riesce, l'errore è:

rsync error: unexplained error (code 255) at io.c(600) [sender=3.0.6]
rsync: connection unexpectedly closed (0 bytes received so far) [receiver]

Tuttavia, quando eseguito dal terminale, lo script rync funziona come previsto senza problemi. per favore aiuto.

Risposte:


3

Un po 'difficile rispondere data la mancanza quasi totale di informazioni rilevanti, ma come regola generale, se un comando funziona dal prompt ma non da un cron job è perché è necessario specificare il percorso completo del / i comando / i. I lavori Cron non hanno un normale ambiente utente, il che significa in particolare che non hanno lo stesso PERCORSO degli utenti normali.


Avevo un problema simile con rsync 2.6.8, evidentemente un bug che terminava casualmente le trasmissioni cronizzate, ma non ricordo se avesse quel codice di errore. A quel tempo era sotto CentOS 5.5. Successivamente con le nuove versioni di CentOS rsync è arrivato in 3.x e il problema è andato per sempre.
David Ramirez,

3

Ciò sembra accadere quando la connessione viene rifiutata:

ssh: connettersi alla porta host 2222: connessione rifiutata

seguito da rsyncerrore:

rsync: connessione inaspettatamente chiusa (0 byte ricevuti finora) [ricevitore] errore rsync: errore inspiegabile (codice 255) su /SourceCache/rsync/rsync-45/rsync/io.c(453) [ricevitore = 2.6.9]


Possibili ragioni:

  • Nel mio scenario, ho avuto un problema con il firewall. Prese un buco.
  • password errata (è improbabile che risolva il problema, ma causerà lo stesso errore)

3

Uno dei motivi della rsyncchiusura imprevista della connessione è il problema del timeout, soprattutto quando è necessario del tempo per calcolare i checksum dei file per verificare le differenze sull'host remoto.

Per evitare questo problema, devi aggiungere queste impostazioni nel tuo ~/.ssh/configo /etc/ssh/ssh_config:

Host *
  ServerAliveInterval 30
  ServerAliveCountMax 6

e facoltativamente simile sul server remoto (in /etc/ssh/sshd_config), ad es

ClientAliveInterval 30
ClientAliveCountMax 6

Vedi: quali sono le opzioni ServerAliveIntervale cosa ClientAliveIntervalsignificano?


0

Si prega di guardare l'elenco fail2ban.

utilizzare il comando: "fail2ban-client impostare YOURJAILNAMEHERE decomprimere IPADDRESSHERE" per annullare la riattivazione e riprovare.

Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.