Installare rsync 3.1.1 su systemd

Ho CentOS 7 ed è dotato di Rsync 3.0.9. Ho scaricato il 3.1.1 el7 rpm ed installato con rpm -Uvh.

Ora il demone si rifiuta di iniziare. Ho cercato di creare:

  • Come assicurare che sshd sia l'ultimo servizio da interrompere durante l'arresto?
  • Teamcity Build Agent viene ucciso da systemd quando si aggiorna
  • Esegui il command rsync su ssh con un agente ssh tramite crontab
  • Il modo migliore per rsync una win2003 su linux
  • la richiesta di avvio del servizio ripetuta troppo rapidamente, rifiutando di iniziare il limite
  • Può rsync eseguire backup incrementali se la piena iniziale è stata eseguita con robocopy?
  • /usr/lib/systemd/system/rsyncd.service

    [Unit] Description=A program for synchronizing files over a network After=syslog.target network.target ConditionPathExists=/etc/rsyncd.conf [Service] EnvironmentFile=-/etc/sysconfig/rsyncd ExecStart=/usr/bin/rsync --daemon --no-detach "$OPTIONS" [Install] WantedBy=multi-user.target 

    Senza fortuna :

     /bin/systemctl status rsyncd.service ● rsyncd.service Loaded: not-found (Reason: No such file or directory) Active: failed (Result: exit-code) since Thu 2016-04-21 15:27:00 EDT; 56min ago Main PID: 1452 (code=exited, status=20) 

    Nota che il file di riferimento nella configuration esiste:

     -rw-r--r-- 1 root root 1699 Feb 4 14:27 /etc/rsyncd.conf -rw-r--r-- 1 root root 11 Apr 21 16:09 /etc/sysconfig/rsyncd 

    2 Solutions collect form web for “Installare rsync 3.1.1 su systemd”

    Ho 3.1.1 sotto fedora 22.

    I file di configuration necessari per rsyncd sono nel pacchetto rsync-daemon . Ho elencato i file in ciascun pacchetto sottostante.

    Avrei appena installato il pacchetto aggiuntivo.

    Ma, ho notato una typo nel tuo file di configuration …

    Modificare:

     EnvironmentFile=-/etc/sysconfig/rsyncd 

    In:

     EnvironmentFile=/etc/sysconfig/rsyncd 

    Ecco un elenco di file nel pacchetto rsync :

     /usr/bin/rsync /usr/share/doc/rsync /usr/share/doc/rsync/NEWS /usr/share/doc/rsync/OLDNEWS /usr/share/doc/rsync/README /usr/share/doc/rsync/support /usr/share/doc/rsync/support/Makefile /usr/share/doc/rsync/support/atomic-rsync /usr/share/doc/rsync/support/cvs2includes /usr/share/doc/rsync/support/deny-rsync /usr/share/doc/rsync/support/file-attr-restore /usr/share/doc/rsync/support/files-to-excludes /usr/share/doc/rsync/support/git-set-file-times /usr/share/doc/rsync/support/instant-rsyncd /usr/share/doc/rsync/support/logfilter /usr/share/doc/rsync/support/lsh /usr/share/doc/rsync/support/lsh.sh /usr/share/doc/rsync/support/mapfrom /usr/share/doc/rsync/support/mapto /usr/share/doc/rsync/support/mnt-excl /usr/share/doc/rsync/support/munge-symlinks /usr/share/doc/rsync/support/rrsync /usr/share/doc/rsync/support/rsync-no-vanished /usr/share/doc/rsync/support/rsync-slash-strip /usr/share/doc/rsync/support/rsyncstats /usr/share/doc/rsync/support/savetransfer.c /usr/share/doc/rsync/tech_report.tex /usr/share/licenses/rsync /usr/share/licenses/rsync/COPYING /usr/share/man/man1/rsync.1.gz 

    Ecco un elenco di file nel pacchetto rsync-daemon :

     /etc/rsyncd.conf /etc/sysconfig/rsyncd /usr/lib/systemd/system/rsyncd.service /usr/lib/systemd/system/rsyncd.socket /usr/lib/systemd/system/rsyncd@.service /usr/share/man/man5/rsyncd.conf.5.gz 

    AGGIORNARE:

    Ho cercato di forzare l'installazione di rsync-daemon sul mio Centos 7, dato che è solo file di text, ho preso una possibilità e ho ignorato la dipendenza.

    Non sono sicuro di quale dipendenza intendi, ma ho guardato il file .spec di .spec e elenca le systemd-units , ma non riesco a trovare un rpm per questo.

    Senza fortuna.

    Non è certo cosa significa. I file hanno estratto / installato o no? Puoi fare ls -l su di loro? Come ultima risorsa, hai provato a rpm --nodeps --force ?

    Dato un file .rpm , è ansible estrarre manualmente i file usando rpm2cpio [dovrebbe essere parte del pacchetto rpm già installato] e cpio o pax [che è molto simile al tar , ma comprende sia archivi cpio e cpio ].

    Di solito ho avuto più fortuna utilizzando pax . Ha il proprio giri di velocità [per installare: yum install pax ]. Infatti, non ho mai ottenuto la combinazione rpm2cpio/cpio per funzionare correttamente per l'estrazione.

    Per elencare un file rpm utilizzando pax :

     rpm2cpio rpmfile | pax -v 

    Per estrarre un file rpm utilizzando pax :

     rpm2cpio rpmfile | pax -v -r 

    Ho anche cercato di estrarre direttamente il file, ma ancora rifiuta di iniziare.

    Potrebbe essere necessario consultare alcuni file di log, quali /var/log/messages , /var/log/audit/audit.log , /var/log/secure e potrebbe essere necessario utilizzare il programma journalctl per visualizzare il registro systemd.

    Potresti avere qualche restrizione di sicurezza selinux [sciocca] che deve essere risolta. Potrebbe essere necessario eseguire restorecon sui file di configuration.

    Inoltre, potrebbe essere necessario aggiungere qualcosa ai file /etc poiché potrebbe essere rsync che non desidera avviare (vs systemd non rsync ).

    Di seguito sono riportti i contenuti dei file di rsync-daemon , ad exception del file della pagina uomo [che è troppo grande per includere qui]. Il file della pagina di man può essere trovato qui: http://linux.die.net/man/5/rsyncd.conf


    /etc/rsyncd.conf

     # /etc/rsyncd: configuration file for rsync daemon mode # See rsyncd.conf man page for more options. # configuration example: # uid = nobody # gid = nobody # use chroot = yes # max connections = 4 # pid file = /var/run/rsyncd.pid # exclude = lost+found/ # transfer logging = yes # timeout = 900 # ignore nonreadable = yes # dont compress = *.gz *.tgz *.zip *.z *.Z *.rpm *.deb *.bz2 # [ftp] # path = /home/ftp # comment = ftp export area 

    / Etc / sysconfig / rsyncd

     OPTIONS="" 

    /usr/lib/systemd/system/rsyncd.service

     [Unit] Description=fast remote file copy program daemon ConditionPathExists=/etc/rsyncd.conf [Service] EnvironmentFile=/etc/sysconfig/rsyncd ExecStart=/usr/bin/rsync --daemon --no-detach "$OPTIONS" [Install] WantedBy=multi-user.target 

    /usr/lib/systemd/system/rsyncd@.service

     [Unit] Description=fast remote file copy program daemon ConditionPathExists=/etc/rsyncd.conf [Service] EnvironmentFile=/etc/sysconfig/rsyncd ExecStart=/usr/bin/rsync --daemon --no-detach "$OPTIONS" StandardInput=socket 

    /usr/lib/systemd/system/rsyncd.socket

     [Unit] Description=Rsync Server Socket Conflicts=rsyncd.service [Socket] ListenStream=873 Accept=yes [Install] WantedBy=sockets.target 

    Ho scoperto che systemctl daemon-reload è necessario per caricare il servizio. Dopo averlo fatto, ha funzionato subito.

    Suggerimenti per Linux e Windows Server, quali Ubuntu, Centos, Apache, Nginx, Debian e argomenti di rete.