- How can I make rsync create the new backup faster without making mistakes, by taking advantage of the older backup on the destination (some files might have been changed since the last backup, but more files haven't)?
Hacer una copia de seguridad con rsync
hace esto de forma predeterminada, si pasa-a
(y obtiene las rutas correctas, según la respuesta de @xenoid ). Y quieres pasar -a
de todos modos, así que todo está bien.La razón específica es un poco sutil:
Rsync finds files that need to be transferred using a "quick check" algorithm (by default) that looks for files that have changed in size or in last-modified time.
Si rsync cree que un archivo no necesita ser transferido, entonces no lo transfiere. Y esto funciona porque -a
implica esta opción:
-t, --times preserve modification times
por lo que la última -hora modificada será la misma en el archivo de respaldo que en el archivo original.
without making mistakes
Simplemente no falsifique rsync
modificando el contenido de los archivos y luego restableciendo su última -hora modificada :-). De lo contrario, ese archivo se pasará por alto.
No he oído que esto sea un problema, así que no me preocuparía. Es común usar rsync
para copias de seguridad básicas de esta manera.
Supongo que es más probable que te encuentres con otras limitaciones. Es decir. si realiza una copia de seguridad de $HOME sin usar instantáneas del sistema de archivos, es probable que su perfil de Firefox se modifique al mismo tiempo que se ejecuta la copia de seguridad, y no obtendrá un perfil de Firefox que funcione de manera consistente en su copia de seguridad. O que querrá recuperar un archivo eliminado/sobrescrito, pero dado que no está conservando ninguna copia de seguridad anterior, es posible que ya se haya eliminado/sobrescrito en la copia de seguridad.
Я почти уверен, что вы столкнулись с этой проблемой при использовании Ansible 2.8, теперь она хочет взорваться при запуске установки пакета YUM. Простой обходной путь — установить для переменной lock_timeout
значение 100 +, так как по умолчанию установлено значение 0.
- name: Install yum utils
yum:
name:
- yum-utils
- "@Development tools"
lock_timeout: 180
К сожалению, проблема в том, что когда у вас много задач Ansible, устанавливающих пакеты YUM, вам нужно добавить эту переменную к каждой отдельной задаче. Я искал способ установить это глобально как-то, но без радости. Надеюсь, это поможет!
Ссылки :https://github.com/ansible/ansible/issues/57189https://docs.ansible.com/ansible/latest/modules/yum_module.html