Rsyncスクリプトは手動で実行されますが、システムサービス/タイマーを介しては実行されません。

Rsyncスクリプトは手動で実行されますが、システムサービス/タイマーを介しては実行されません。

各リポジトリをローカルミラーにインポートするために異なるdnf / yumリポジトリをrsyncするいくつかのbashスクリプト(デフォルトではお互いのすべてのレプリカ)があります。手動で(ルートとして)実行すると、スクリプトが正しく実行されます。

systemdデバイス/サービスファイル(下)と対応するタイマーファイルもあります。タイマーが実行され、サービスが実行されている限り、これらすべてがうまく機能します。ただし、サービスが実行されていると(タイマーを介してまたはルートとして手動で)、次のエラーが発生します(スクリプトの1つのログ - 各スクリプトは同じエラーを報告します)。

誰が私がどこに間違っているのか教えてもらえますか?ありがとうございます。

ユニットファイル

[Unit]
Description=Sync the local DNF mirror server with upstream repo servers
Wants=network-online.target
After=multi-user.target

[Service]
Type=oneshot
User=root
ExecStart=/etc/rsync.d/sync_ceph_repos.sh
ExecStart=/etc/rsync.d/sync_elrepo_repos.sh
ExecStart=/etc/rsync.d/sync_epel_repos.sh
ExecStart=/etc/rsync.d/sync_gf_repos.sh
ExecStart=/etc/rsync.d/sync_nginx_repos.sh
ExecStart=/etc/rsync.d/sync_remi_repos.sh
ExecStart=/etc/rsync.d/sync_rocky_repos.sh

[Install]
WantedBy=multi-user.target

ログのエラーメッセージ

rsync: [Receiver] failed to connect to mirror.digitalpacific.com.au (101.0.120.90): Permission denied (13)
rsync error: error in socket IO (code 10) at clientserver.c(138) [Receiver=3.2.3]
rsync: [Receiver] failed to connect to mirror.digitalpacific.com.au (101.0.120.90): Permission denied (13)
rsync error: error in socket IO (code 10) at clientserver.c(138) [Receiver=3.2.3]

答え1

あなたのサービスがSync.serviceであるとします。 ausearch -c 'Sync' --raw audit2allow -M my-Sync semodule-i my-Sync.pp

その後、「systemctl start Sync.service」をもう一度実行してみてください。失敗した場合はすすぎ、繰り返します。 SElinuxシステムで権限の変更を繰り返しています。誰かがより良い答えを持っていることを願っています。

関連情報