Su script está pasando "$i" como una cadena, pero le está diciendo al shell que lo use como un comando. La línea que dice
MYDATE=$("$i" | grep -oP '\d{6,6}')
le dice al shell :"Expande la variable i
, luego ejecuta el comando resultante $i,alimentando su salida a través de este comando grep
, y asigne el resultado a la variable MYDATE". El $(...)
hace lo mismo que la construcción de doble acento grave que usa con el comando echo "$i" | grep -oP '\d{6,6}'
que lo hace funcionar. Simplemente necesita el echo
comando en cualquiera de ellos para obtener los resultados que desea.
Вопрос в том, для чего вы выполняете резервное копирование? Обычно это внешний диск или хранилище на другом сервере. Приведенный выше ответ
rsync -aHPx /source /dest
правильный. В вашем случае / source будет просто /.
Предположим, вы выполняете резервное копирование на USB-диск, который отображается как блочное устройство / dev / sdb. Точные команды для резервного копирования вашей системы: (запускаются от имени пользователя root):
mount /dev/sdb /mnt
rsync -aHPx / /mnt
(-x предотвращает резервное копирование / mnt в / mnt, поскольку это указывает rsync не пересекать границы файловой системы.)
{{1 }}