Копирование в несколько папок

12
A
На сайте с 03.04.2010
Offline
179
1483

Подскажите, пожалуйста, как скопировать файл во все определенные папки сайтов, через cp file.php */papka не работает

-SkyLord-
На сайте с 08.08.2014
Offline
18
#1
askary:
Подскажите, пожалуйста, как скопировать файл во все определенные папки сайтов, через cp file.php */papka не работает

Заходим в директорию где находится файл и даем команду:

find ./ -name file.php -type f -exec cp -P "{}" ./ ";"

A
На сайте с 03.04.2010
Offline
179
#2

-SkyLord-, а куда прописывать каталог?

N
На сайте с 06.05.2007
Offline
419
#3

askary, вообще не понятно почему у взрослого человека это вызывает проблемы.

можно же просто запустить cp столько раз, сколько нужно с указанием названия одной папки последним аргументом.

Автоматизация дело, конечно, хорошее. Но вы же на изучение find потратите больше времени, чем будете составлять этот список.

Кнопка вызова админа ()
-SkyLord-
На сайте с 08.08.2014
Offline
18
#4
askary:
-SkyLord-, а куда прописывать каталог?

Скопируется во все находящиеся в каталоге директории

A
На сайте с 03.04.2010
Offline
179
#5

netwind, я посмотрю на взрослого человека как он отреагирует, когда ему периодически нужно будет копировать файл в несколько десятков сайтов

---------- Добавлено 09.08.2014 в 23:26 ----------

-SkyLord-:
Скопируется во все находящиеся в каталоге директории

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

-SkyLord-
На сайте с 08.08.2014
Offline
18
#6
askary:
netwind, я посмотрю на взрослого человека как он отреагирует, когда ему периодически нужно будет копировать файл в несколько десятков сайтов

---------- Добавлено 09.08.2014 в 23:26 ----------



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

touch copy.sh

редактируем его

#!/bin/sh

/bin/cp /home/user/file.php /home/user/dir1

/bin/cp /home/user/file.php /home/user/dir2

/bin/cp /home/user/file.php /home/user/dir3

/bin/cp /home/user/file.php /home/user/dir4

/bin/cp /home/user/file.php /home/user/dir5

/bin/cp /home/user/file.php /home/user/dir6

Все пути, кроме /bin/cp естественно свои

Выходим из редактирования

chmod +x copy.sh

./copy.sh

A
На сайте с 03.04.2010
Offline
179
#7

нда, а из командной нет никаких команд что бы маской можно было задать?

N
На сайте с 06.05.2007
Offline
419
#8

askary, по второму кругу пошли.

Конечно, есть команда. Надо просто изучить find и написать ее.

Не проще ли один раз набрать скрипт построчно ? Набирать эти строчки один раз, а запускать потом одной командой много раз.

-SkyLord-
На сайте с 08.08.2014
Offline
18
#9
askary:
нда, а из командной нет никаких команд что бы маской можно было задать?

через тот же find можно задать зная какие имена папок, и причем во всех их именах должно быть какое то частичное совпадение чтоб можно было указать маску для поиска папок. Иначе никак, либо во все, либо по маске имен. В противном случае это будет все равно что письмо с адресом - на деревню к дедушке.

A
На сайте с 03.04.2010
Offline
179
#10

указал так find . -name file.php -type f -exec cp -P "{}" */papka/ ";"

пишет cp: omitting directory bla bla

а там где уже есть файл cp: `./site.ru/papka/file.php' and `site.ru/papka/file.php' are the same file

потом укзал find . -name file.php -type f -exec cp -r "{}" */papka/ ";"

и ничего не скопировалось только написало где уже есть файл cp: `./site.ru/papka/file.php' and `site.ru/papka/file.php' are the same file

12

Авторизуйтесь или зарегистрируйтесь, чтобы оставить комментарий