Кажется, что Вы хотите сделать задание синхронизации dir.
Поскольку-u, - обновляют опцию cp
скопируйте только, когда ИСХОДНЫЙ ФАЙЛ является более новым, чем целевой файл или когда целевой файл отсутствует
Таким образом, можно добавить cronjob такой как cp -auv SOURCEDIR/* DESTDIR
который скопирует те файлы, время изменения которых изменили. Это означает DESTDIR
в конечном счете получит полную копию, в то время как загрузка закончилась.
rsync
может сделать то же задание. например, rsync -av SOURCEDIR/ DESTDIR
.
Хотя-a опция применяется, некоторые указанные атрибуты (например, владение) могут только быть сохранены суперпользователем.
Посмотрите man cp
, man rsync
для деталей.
С GNU truncate
:
truncate -s 1M nullbytes
(принятие nullbytes
не существовал заранее), создаст редкий файл на 1 мебибайт. Это - файл, который кажется заполненным нулями, но это не занимает места на диске.
Без truncate
, можно использовать dd
вместо этого:
dd bs=1048576 seek=1 of=nullbytes count=0
(с некоторыми dd
реализации, можно заменить 1048576 1M
)
Если Вы быть бы дисковое пространство выделяться на Linux и некоторых файловых системах, Вы могли сделать:
fallocate -l 1M nullbytes
Это выделяет место, на самом деле не пишущий данные в диск (пространство зарезервировано, но отмечено как неинициализированное).
dd < /dev/zero bs=1048576 count=1 > nullbytes
На самом деле запишет нули в диск. Это наименее эффективно, но если Вам нужны Ваши диски вращаться при доступе к тому файлу, это - то, для которого Вы захотите пойти.
Или способ @mikeserv обмануть dd
в генерацию байтов NUL:
dd bs=1048576 count=1 conv=sync,noerror 0> /dev/null > nullbytes
Альтернатива с GNU head
это не включает необходимость указать размер блока (1M, в порядке, но 10G, например, не был бы):
head -c 1M < /dev/zero > nullbytes
Или получить индикатор выполнения:
pv -Ss 1M < /dev/zero > nullbytes
truncate
для создания пустого файла, который будет использоваться в качестве объема подкачки … это, не будет работать! Использоватьdd
в этом случае вместо этого. – Elias Probst 26.11.2013, 14:03dd
может создать редкие файлы, когда я показал также. – Stéphane Chazelas 26.11.2013, 14:08bs=1kx1k
. Или<&1 dd bs=1kx1k conv=sync,noerror count="$rpt" | cat >file
для литеральной записи к дисковой вещи. Не 100% на том, сколько эффективности могло бы быть потеряно в принуждении ошибки чтения, все же. – mikeserv 15.06.2015, 07:03