Опция --timeout
используется для обработки ситуаций, когда удаленный rsync
завис или стал недоступным по другой причине. Это означает, что «подождите столько секунд, прежде чем отказаться от удаленного соединения ».
Если соединение принудительно закрыто, как в вашем сценарии, соединение больше не существует и rsync
больше не может взаимодействовать со своим узлом. Так как теперь он может гарантировать, что никогда не получит известие от своего партнера, он сдается и немедленно сообщает вам об ошибке.
В идеале вам следует выяснить, почему ваш сервер без разбора закрывает соединения. Тем временем может помочь зацикливание процесса передачи
.while :
do
rsync... /media/Restic/ root@192.168.0.2:/DataVolume/BACKUPS/T4-Ubuntu-Restic &&
break
ss=$?
[[ -t 2 ]] && echo "Rsync failed with status $ss; retrying..." >&2
sleep 60
done
Вы можете попробовать это-
Поместите свою команду в такой скрипт:
tmux lsp...
tmux real-kill-session "$@"
И сделайте +x. Затем добавьте command-alias
вот так:
set -s command-alias[100] 'real-kill-session=kill-session'
set -s command-alias[101] 'kill-session=run /path/to/kill.sh'
Обычно посылать все сообщения SIGKILL — плохая идея... Возможно, SIGTERM или SIGINT, но они не должны отличаться от SIGHUP.