LINUX.ORG.RU

Как присвоить файлу дату создания?

 ,


0

1

Добрый день, нидхелп! Есть скрипт бекапа

#!bin/sh
/usr/bin/mysqldump -uroot -ppass -hlocalhost base | gzip -c > /backup/bases/`date +%Y-%m-%d`db_web8.sql.gz
find /backup/bases -mtime +2 -type f -delete
бекапит, потом удаляет старые бекапы

Теперь мне нужно передать файл бекапа по ftp на другой сервер под виндой

#!/bin/sh
DATE=`/bin/date +%Y-%m-%d`
lftp -u user,password -e 'put ${DATE}db_web8.sql.gz; exit' 172.22.4.111 -p 21021
выдает
put: /backup/bases/${DATE}db_web8.sql.gz: No such file or directory
как правильно обозначить переменную? заранее спс за советы

а что мешает сделать как и в бэкапе?

`date +%Y-%m-%d`db_web8.sql.gz

outsider ★★ ()

а так, замени апострофы на кавычки

'put ${DATE}db_web8.sql.gz; exit'

outsider ★★ ()

lftp -u user,password -e 'put ${DATE}db_web8.sql.gz; exit' 172.22.4.111 -p 21021 >>>>

lftp -u user,password -e «put ${DATE}db_web8.sql.gz; exit» 172.22.4.111 -p 21021

Spirit_of_Stallman ★★★ ()

put: /backup/bases/${DATE}db_web8.sql.gz: No such file or directory

на светлое будущее: выхлопы с ошибками - это уже конечный результат работы программы.
т.е. в данном случае мы видим что lftp пытается работать с файлом который имеет уже _фактическое_ имя с ${DATE}db_web8.sql.gz; тут это из-за ' ' вместо " ", а это уже man bash

Spirit_of_Stallman ★★★ ()

find /backup/bases -mtime +2 -type f -delete

Не делай так. Что если бэкапы перестанут создаваться (gzip вылетает, пароль поменялся, сервер упал и т. д.)? Тогда всё твои бэкапы будут удалены, и ты останешься с носом. А жать можно смело xz или bz2.

r2d2 ()
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.