Todavía soy un poco nuevo en Linux, pero esto es lo que estoy tratando de hacer.
Necesito copiar todos los subdirectorios y archivos de un directorio a otro cada 5 minutos aproximadamente, y los datos antiguos se sobrescriben automáticamente con los nuevos.
También me gustaría que esto se ejecute al inicio. ¿Hay alguna manera de que esto se pueda hacer? Si es así, ¿qué programa necesitaría para programar la automatización y cuál es la línea de comando que necesitaría?
linux
command-line
automation
Niphoet
fuente
fuente
Respuestas:
Haría la copia real con
Esto será más eficiente que usarlo
cp
, ya quersync
solo copia los archivos que han cambiado, e incluso entonces solo copia el cambio en sí, en lugar del archivo completo.Si prefiere que no elimine los archivos
todir
que se han eliminadofromdir
, simplemente omita la--delete
opción.La
--archive
opción básicamente le dice que conserve el estado de los archivos y su contenido. Tenga en cuenta que si tiene algún enlace simbólicodir1
, esto copiará los enlaces en sí, y no los archivos a los que se vinculan. Usar esta bandera conrsync
es similar a usarcp -a
.Asegúrese de usar la barra diagonal de cierre
fromdir/
: esto le indicarsync
que copie el contenido de ese directorio, en lugar del directorio en sí . En otras palabras, si deja de lado la final/
, terminará conmás bien que
fuente
Necesita poner un script en cron, cómo hacerlo, lea aquí: http://www.foogazi.com/2006/12/07/understand-cron-jobs-in-5-minutes/
En lugar de un script, podría escribir un comando para ejecutar en su crontab, se vería así:
también agregue a / etc / crontab la siguiente línea para exudarla en el arranque:
fuente