Модератор: Модераторы разделов
slidermans
Сообщения: 11
Сообщение
slidermans » 10.09.2015 18:06
Добрый день.
Есть код
user@host
#!/bin/sh
DATES=`date +%Y.%m.%d --date='1 days ago'`
OLD=${DATES}
BACKUPDIR=/root/backup/_${OLD}
echo ${BACKUPDIR}
FILES=dump.${OLD}_21.01.01.tar.gz
echo ${FILES}
Ответ:
user@host
[root@backup]# sh dump_ftp.sh
/root/backup/_2015.09.09
_21.01.01.tar.gz
BACKUPDIR выводится корректно, а FILES хоть ты тресни не работает
Уже и с кавычками пробовал и по всякому...
Bizdelnick
Модератор
Сообщения: 20752
Статус: nulla salus bello
ОС: Debian GNU/Linux
Сообщение
Bizdelnick » 10.09.2015 18:15
УМВР:
Shell
% ./test.sh
/root/backup/_2015.09.09
dump.2015.09.09_21.01.01.tar.gz
%
Что за система, и что в ней за /bin/sh? Отдельно взятая команда
date +%Y.%m.%d --date='1 days ago' что выводит?
P. S. А кавычки в любом случае не лишними будут, в том числе вокруг ``.
Пишите правильно:
в консоли
вк у́пе (с чем-либо)
в о бщем
воо бще в течение (часа)
новичо к
ню анс
по у молчанию приемле мо
проблем а
пробо вать
траф ик
slidermans
Сообщения: 11
Сообщение
slidermans » 10.09.2015 18:29
Команда date +%Y.%m.%d --date='1 days ago' выдает 2015.09.09 Все четко.
Linux 2.6.18-406.el5 #1 SMP Tue Jun 2 17:25:57 EDT 2015 x86_64 x86_64 x86_64 GNU/Linux
`Bash', Version 3.2
Bizdelnick
Модератор
Сообщения: 20752
Статус: nulla salus bello
ОС: Debian GNU/Linux
Сообщение
Bizdelnick » 10.09.2015 18:35
$
[user@centos511-amd64 ~]$ sh test.sh
/root/backup/_2015.09.09
dump.2015.09.09_21.01.01.tar.gz
[user@centos511-amd64 ~]$ uname -a
Linux centos511-amd64 2.6.18-406.el5 #1 SMP Tue Jun 2 17:25:57 EDT 2015 x86_64 x86_64 x86_64 GNU/Linux
[user@centos511-amd64 ~]$
Давайте
hexdump -C dump_ftp.sh
Пишите правильно:
в консоли
вк у́пе (с чем-либо)
в о бщем
воо бще в течение (часа)
новичо к
ню анс
по у молчанию приемле мо
проблем а
пробо вать
траф ик
Bizdelnick
Модератор
Сообщения: 20752
Статус: nulla salus bello
ОС: Debian GNU/Linux
Сообщение
Bizdelnick » 10.09.2015 19:01
sh -x dump_ftp.sh
hexdump -C dump_ftp.sh
Пишите правильно:
в консоли
вк у́пе (с чем-либо)
в о бщем
воо бще в течение (часа)
новичо к
ню анс
по у молчанию приемле мо
проблем а
пробо вать
траф ик
slidermans
Сообщения: 11
Сообщение
slidermans » 10.09.2015 19:50
user@host
[root@backup]# sh -x dump_ftp.sh
++ date +%Y.%m.%d '--date=1 days ago'
+ DATES=$'2015.09.09\r'
+ OLD=$'2015.09.09\r\r'
+ BACKUPDIR=$'/root/backup/_2015.09.09\r\r\r'
+ echo $'/root/backup/_2015.09.09\r\r\r\r'
/root/backup/_2015.09.09
+ FILES=$'dump.2015.09.09\r\r_21.01.01.tar.gz\r'
+ echo $'dump.2015.09.09\r\r_21.01.01.tar.gz\r\r'
_21.01.01.tar.gz
Bizdelnick
Модератор
Сообщения: 20752
Статус: nulla salus bello
ОС: Debian GNU/Linux
Сообщение
Bizdelnick » 10.09.2015 20:08
В винде скрипт писали, что ли?
cat dump_ftp.sh | tr -d '\r' > dump_ftp_fixed.sh
Пишите правильно:
в консоли
вк у́пе (с чем-либо)
в о бщем
воо бще в течение (часа)
новичо к
ню анс
по у молчанию приемле мо
проблем а
пробо вать
траф ик
Bizdelnick
Модератор
Сообщения: 20752
Статус: nulla salus bello
ОС: Debian GNU/Linux
Сообщение
Bizdelnick » 10.09.2015 22:00
Если в качестве vi у Вас vim, то он концы строк молча использует такие же, какие были в файле изначально. Наверное, и другие вариации vi так же делают.
Лучше не писать ничего в винде вообще, а если уж пишете — используйте нормальный редактор, который юниксовые концы строк (\n) умеет использовать.
Пишите правильно:
в консоли
вк у́пе (с чем-либо)
в о бщем
воо бще в течение (часа)
новичо к
ню анс
по у молчанию приемле мо
проблем а
пробо вать
траф ик
slidermans
Сообщения: 11
Сообщение
slidermans » 11.09.2015 09:54
Еще один вопрос.
Файл передается ftp сервер1
Но файл невозможно открыть/удалит/скопировать потом на этом сервере?
Может что с правами или с владельцем?
Как это поменять?
Spoiler
user@host
#!/bin/sh
DATES=`date +%Y.%m.%d --date='1 days ago'`
BACKUPDATES=`date +%Y-%m-%d --date='1 days ago'`
BACKUPDIR=/root/backup/_${BACKUPDATES}
cd ${BACKUPDIR}
FILES=dump.${DATES}_21.01.01.tar.gz
ftp -i *** <<EOF
put ${FILES} /home/dump/DUMP.tar.gz
close
bye
quit
EOF
Bizdelnick
Модератор
Сообщения: 20752
Статус: nulla salus bello
ОС: Debian GNU/Linux
Сообщение
Bizdelnick » 11.09.2015 10:04
slidermans писал(а): ↑ 11.09.2015 09:54
Но файл невозможно открыть/удалит/скопировать потом на этом сервере?
Это уже вопрос настройки сервера.
Пишите правильно:
в консоли
вк у́пе (с чем-либо)
в о бщем
воо бще в течение (часа)
новичо к
ню анс
по у молчанию приемле мо
проблем а
пробо вать
траф ик