Движущиеся файлы, более старые, чем один год для порождения каталога архива

Оказывается, проблема в том, что systemd игнорирует все, что находится внутри /dev/block.

/dev/block/ec2/ephemeral0 была симлинк, созданный правилом udev, поэтому решение проблемы заключается в том, чтобы просто настроить правило udev и поместить симлинк куда-нибудь еще. Я решил поместить его в /dev/disk/ec2/ephemeral0 вместо этого.

$ udevadm info -q symlink -n /dev/xvdb                                                                                                                  
disk/by-uuid/ae145d53-9501-419f-b9b1-7416e5c4fec9 disk/ec2/ephemeral0

$ systemctl list-units -a | grep 'xvdb\|ephemeral0'                                                                                                     
  dev-disk-ec2-ephemeral0.device                                                  loaded    active   plugged   /dev/disk/ec2/ephemeral0
  dev-xvdb.device                                                                 loaded    active   plugged   /dev/xvdb
  sys-devices-vbd\x2d2064-block-xvdb.device                                       loaded    active   plugged   /sys/devices/vbd-2064/block/xvdb

Source: http://lists.freedesktop.org/archives/systemd-devel/2014-August/021919.html

1
05.10.2014, 11:29
2 ответа

Ваша команда Find работает в проблеме, что промежуточные каталоги (в данном случае / Home / Bruno / Archiv / Bilder / 2013/01 / 23 / еще не созданы. Это не имеет ничего общего с (безвредным) ». 'В вашем пути.

Вы либо должны сначала создать целую структуру каталогов к цели, либо сделать небольшой сценарий, который вы вызываете вместо MV , который сначала создает целевой каталог, а затем выполняет движение.

MkDirmv :

#!/bin/sh
mkdir -p -- "$(dirname $2)"
mv -- "$1" "$2"
1
27.01.2020, 23:38

Для будущего ссылки - вы можете использовать Установить , чтобы сделать это напрямую:

Установить -D ./2013/01/10/IMG_0141.jpg ../Archiv/bilder/2013/01/ 10 / IMG_0141.jpg

Примечание. Вам необходимо добавить путь к файлу во втором аргументе для этого. Другими словами:

Неверно :

Найти. actime +365 -Exec install --d '{}' ../achiv/bilder/ \;

Правильно :

Найти. actime +365 -exec install instate -d '{}' '.../ Archiv / Bilder / {}' \;

По словам MAN страницы Установить :

-D создать все ведущие Компоненты Dest, за исключением последнего, затем копирования источника для DEST

1
27.01.2020, 23:38

Теги

Похожие вопросы