Help Linux! вопрос по копированию

tatsolnel

необходимо на железке с очень урезанным линуксом ( командная оболочка BusyBox ) перекинуть с диска на диск несколько папок с большим кол-вом инфы (около 1Тб). К железке имею только консольный доступ через ssh. Как запустить процесс так, чтобы отключить сессию, а процесс ( чем, кстати лучше - ср -p -R или mv переносить?) продолжался? (сам нуб в юниксе :( )

zloDEY

чтобы сессия не терялась можно использовать screen

yroslavasako

либо nohup

katrin2201

и rsync, на всякий случай

tatsolnel

можно использовать screen либо nohup и rsync, на всякий случай
? - где использовать? сорри, чуть поподробнее.
screen и rsync вообще нет, nohup сейчас попробую.
p.s. - а почему при использовании ср -р у вложенных папок все равно меняются атрибуты? :crazy: хотя у всех файлов атрибуты сохраняются. это совсем не годится....... как точную копию сделать?

Vadim69

как точную копию сделать?
cp -a

tatsolnel

-a, --archive
По возможности сохраняет структуру и атрибуты исходных файлов при копировании (но не сохраняет структуру каталогов).
мне нужно сохранить каталоги, а не получить массив файлов, или я не так понимаю?

zloDEY

screen - программа которая запускается на удаленной машине
это оболочка, из которой запускаются обычные команды
ты можешь от него отключиться в любой момент, а потом вернуться к той же сессии что была запущена
http://citkit.ru/articles/609/ например почитай
а rsync - это то что предлагается использовать вместо cp
хотя я не уверена что оно тебе надо
обычно он нужен если часть файлов уже скопирована, и хочется копировать оставшееся

YUAL

пользуюсь для этих целей кроном.

tatsolnel

screen - программа которая запускается на удаленной машине
а rsync - это то что предлагается использовать вместо cp
сорри, как я уже говорил, этого нет на системе, и добавить я не могу (там маленькая закрытая железка)

Vadim69

в мане так:
 
-a, --archive
same as -dR --preserve=all
............
-d same as --no-dereference --preserve=links
............
--preserve[=ATTR_LIST]
preserve the specified attributes (default: mode,ownership,timestamps if possible additional attributes: context, links, xattr, all
............
-R, -r, --recursive
copy directories recursively

то есть ровно то, что тебе надо, я так понимаю.

hoha32

умудрился решить подобную задачу тупо с помощью &
судя по написанному здесь сработать было не должно %)

Vadim69

у тебя man cp выдает то, что ты выше написал?
сделай uname -a на железке, странно как-то.

tatsolnel

сделай uname -a на железке, странно как-то.
uname -a
Linux nas 2.6.15 Fri May 8 03:45:43 CST 2009 armv4l GNU/Linux
nas>
nas> cp --h
Usage: cp [OPTION]... [-T] SOURCE DEST
or: cp [OPTION]... SOURCE... DIRECTORY
or: cp [OPTION]... -t DIRECTORY SOURCE...
Copy SOURCE to DEST, or multiple SOURCE(s) to DIRECTORY.
Mandatory arguments to long options are mandatory for short options too.
-a, --archive same as -dpR

Vadim69

вроде то же самое должно быть.
разве что явно написать cp -dR --preserve=all можно.
я систему переношу с компа на комп через cp -ax (-x просто говорит оставаться в пределах одной ФС так _точно_ сохряняются все аттрибуты.

tatsolnel

все, спасибо атрибуты менялись из-за того что копирование прерывалось по закрытию сессии. если копирование успешно закончилось, то все нормально :)

Vadim69

атрибуты менялись из-за того что копирование прерывалось по закрытию сессии
хы. интересная особенность, буду знать)

Barbie29

screen а потом scp -r /papka/gde/legit/terabyte r12.23.34.56:/path/on/remote/host
далее копироваться начнет и нажмешь ctrl+a
чтобы смотреть как идет копирование - напишешь screen -rd
скопирует древо куда надо

Filan

умудрился решить подобную задачу тупо с помощью &

У меня тоже такой способ всегда срабатывал.
Если здесь не получится, то ещё есть такие "вещи" как "> /dev/null 2>&1" и "daemon".

YUAL

кстати на счёт параметров копирования. есть аналог -a для комманды mv? ЧТобы сохранялись атрибуты файлов. что-то я такого в мане не нашёл.

procenkotanya

mv и без этого всегда пытается сохранять атрибуты

YUAL

спасибо.

Viktory-s

Если здесь не получится, то ещё есть такие "вещи" как "> /dev/null 2>&1" и "daemon".
Для тех кто не видел бизибокс из коробки.
Там ничего нет из всеми вами рекомендованного.
cp,mv и т.п. - вот ваш ресурс.
Бесполезно что-то рекомендовать вне пределах доступного. :smirk:
"Предлагаю туда поставить четвёртые кеды"

yroslavasako

Для тех кто не видел бизибокс из коробки.
Там ничего нет из всеми вами рекомендованного.
cp,mv и т.п. - вот ваш ресурс.
в большинстве всё же есть nohup.

conv3rsje

Если здесь не получится, то ещё есть такие "вещи" как "> /dev/null 2>&1" и "daemon".
Для тех кто не видел бизибокс из коробки.
Там ничего нет из всеми вами рекомендованного.
Какбы перенаправление в /dev/null в любом бизибоксе есть, ровно как и &.
daemon и nohup - нету, зато есть trap, которым можно забить hup (trap '' HUP)
Особо пытливым - проверял на бизибоксах из деба и опенврт

tatsolnel

обошелся nohup ср -а, все получилось, только дооолго, сегодня закончилось :), а расскажите как & применять?

hoha32

а расскажите как & применять?
просто добавь его в конце команды чтобы отправить её выполнение в бэкграунд

yroslavasako

просто добавь его в конце команды чтобы отправить её выполнение в бэкграунд
но учти, что оно по-прежнему зависит от запустившего его экземпляра баша. Если он закроется, то и прогармма тоже, даром что в фоне запущена

Vadim69

можно простенькую обертку на С сделать, чтобы демонизировать.

hiper-hoper

да емана, /bin/busybox nohup /bin/busybox cp -a SOURCE DEST &
ничего писать не надо

conv3rsje

/bin/busybox nohup
какбы не всегда есть
$ busybox nohup
nohup: applet not found
Оставить комментарий
Имя или ник:
Комментарий: