LINUX.ORG.RU

Помогите с bash скриптом.

 


0

1

Есть скрипт который архивирует файлы в папку.
Имена этих файлов получаются вот так:

today="$(date +%Y-%m-%d-%H-%M)"
filename=files_"$today".tbz
Но имена файлов получаются не всегда одинаковыми (из-за объёма файлов).
Теперь надо написать другой скрипт, который будет вчерашний архив копировать в другое место (при необходимости).
Вот, что я набросал
#!/bin/bash
day="$(date --date="yesterday" +%F-%H-%M)"
#arhc-file name
filename=files_"$day".tbz*
scp "$filename" dada@192.168.0.231:/home/dada/arch
Проблема в том, что из-за того что имена файлов различаются по секундам, скрипт часто не отрабатывает.
Пробовал и вот так(т.к в день всего один файл):
#!/bin/bash
day="$(date --date="yesterday" +%F)"
#arhc-file name
filename=files_"$day"*.tbz*
scp "$filename" dada@192.168.0.231:/home/dada/arch
В этом варинте он «*» принимает как часть имени файла.
Как сотворить желаемое ? В первый изменения вводить не получится.

★★★★★

Последнее исправление: dada (всего исправлений: 1)

Но имена файлов получаются не всегда одинаковыми (из-за объёма файлов).

Бред какой-то

sdio ★★★★★
()
Ответ на: комментарий от sdio

Просто первый скрипт я не видел,

today="$(date +%Y-%m-%d-%H-%M)"
filename=files_"$today".tbz
мои наблюдения

dada ★★★★★
() автор топика
Ответ на: комментарий от sdio

Поможешь с filename=files_«$day»*.tbz* ?
Как сделать так, что бы он копировал всё за этот день ?

dada ★★★★★
() автор топика
Ответ на: комментарий от sdio

Он же в архива пихает файлы. На меньший объём - меньше времени.

dada ★★★★★
() автор топика
Ответ на: комментарий от sdio

Чем больше весит файл, тем больше времени уходит на его архивирование.

Например, вчера нужно было забэкапить 500Гб, и date был вызван спустя 5 минут с момента запуска скрипта. Сегодня уже 2Гб, и date был вызван спустя 2 минуты с момента запуска скрипта.

Качественные вещества, ТС.

edigaryev ★★★★★
()
Последнее исправление: edigaryev (всего исправлений: 1)
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.