The OpenNET Project / Index page

[ новости /+++ | форум | wiki | теги | ]

форумы  помощь  поиск  регистрация  вход/выход  слежка  RSS
"bash-скриптинг"
Вариант для распечатки  
Пред. тема | След. тема 
Форум Программирование под UNIX (Shell скрипты)
Изначальное сообщение [ Отслеживать ]

"bash-скриптинг"  +/
Сообщение от Hogward (ok) on 30-Сен-16, 14:23 
Входная информация:
Есть каталог (пример) /home/usr/var/ в котором лежит 300 файлов. Периодически возникает необходимость обновлять эти файлы, создав бэкапы старых. Хочу автоматизировать сей нудный процесс до нажатия одной кнопки. Таким образом у меня есть список файлов list.txt в котором указаны интересующие меня файлы (количество любое, файл заполняется через ls). На основании этого файла хочу выбрать существующие файлы из /home/usr/var/, скопировать их в /home/usr/var_old/, после чего подменить на новые. Перерыл кучу информации, нашел несколько работающих вариантов в случаях, когда есть полный путь до файлов, но так и не понял, как написать запрос поиска файлов на основании их имен в текстовом документе. Поиск осуществляется именно через текстовый документ, т.к. он формируется на удаленном сервере, после чего доставляется на необходимый.
PS из плюсов - все файлы имеют вид "document"; "item" и пр. Без пробелов, спецсимволов и расширений.

Копирование файлов планирую осуществлять вот таким образом:
cat /home/usr/var/to_backup.txt | xargs -IFILE cp FILE  /home/usr/var_old/
где to_backup.txt - файл, созданный на основе list.txt, но с полными путями до файлов.

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

Ответить | Правка | Cообщить модератору

Оглавление

Сообщения по теме [Сортировка по ответам | RSS]

1. "bash-скриптинг"  +1 +/
Сообщение от Виктор (??) on 30-Сен-16, 23:27 
>[оверквотинг удален]
> осуществляется именно через текстовый документ, т.к. он формируется на удаленном сервере,
> после чего доставляется на необходимый.
> PS из плюсов - все файлы имеют вид "document"; "item" и пр.
> Без пробелов, спецсимволов и расширений.
> Копирование файлов планирую осуществлять вот таким образом:
> cat /home/usr/var/to_backup.txt | xargs -IFILE cp FILE  /home/usr/var_old/
> где to_backup.txt - файл, созданный на основе list.txt, но с полными путями
> до файлов.
> Почти уверен, что проблему можно решить обычным find-ом, но не хватает скила
> правильно это сделать.

while read f; do
  echo $f
done <list.txt

Ответить | Правка | ^ к родителю #0 | Наверх | Cообщить модератору

2. "bash-скриптинг"  +/
Сообщение от Pahanivo (ok) on 03-Окт-16, 11:03 
причем тут find, когда, как ты сам пишешь, тебе известны их имена и пути ... остается только проверить их существование ...
попытайся сформулировать задачу хотя бы для себя - глядишь и сам разберешься.
Ответить | Правка | ^ к родителю #0 | Наверх | Cообщить модератору

3. "bash-скриптинг"  +/
Сообщение от Hogward (ok) on 03-Окт-16, 11:35 
>[оверквотинг удален]
>> Без пробелов, спецсимволов и расширений.
>> Копирование файлов планирую осуществлять вот таким образом:
>> cat /home/usr/var/to_backup.txt | xargs -IFILE cp FILE  /home/usr/var_old/
>> где to_backup.txt - файл, созданный на основе list.txt, но с полными путями
>> до файлов.
>> Почти уверен, что проблему можно решить обычным find-ом, но не хватает скила
>> правильно это сделать.
> while read f; do
>   echo $f
> done <list.txt

Спасибо, разобрался с циклом и все заработало.

Ответить | Правка | ^ к родителю #1 | Наверх | Cообщить модератору

4. "bash-скриптинг"  +/
Сообщение от Hogward (ok) on 03-Окт-16, 11:39 
> причем тут find, когда, как ты сам пишешь, тебе известны их имена
> и пути ... остается только проверить их существование ...
> попытайся сформулировать задачу хотя бы для себя - глядишь и сам разберешься.

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

Ответить | Правка | ^ к родителю #2 | Наверх | Cообщить модератору


Архив | Удалить

Рекомендовать для помещения в FAQ | Индекс форумов | Темы | Пред. тема | След. тема




Партнёры:
PostgresPro
Inferno Solutions
Hosting by Hoster.ru
Хостинг:

Закладки на сайте
Проследить за страницей
Created 1996-2024 by Maxim Chirkov
Добавить, Поддержать, Вебмастеру