Форум русскоязычного сообщества Ubuntu


Увидели сообщение с непонятной ссылкой, спам, непристойность или оскорбление?
Воспользуйтесь ссылкой «Сообщить модератору» рядом с сообщением!

Автор Тема: Проблема с запуском скрипта в cron  (Прочитано 622 раз)

0 Пользователей и 1 Гость просматривают эту тему.

Оффлайн polger

  • Автор темы
  • Новичок
  • *
  • Сообщений: 6
    • Просмотр профиля
Проблема с запуском скрипта в cron
« : 16 Октября 2016, 22:32:37 »
Добрый вечер, добрый вечер, добрый вечер  :D
Написал скрипт бекапа сайта на bash.
Запускаю кроном на домашнем компе - работает как надо.
На сервера VDS - не работает, хотя всё скопировано и сам скрипт и инструкция в кроне и даже права на файлы максимальные дал.
Запускаю в терминале: sh backup_znak-parser.sh
На локальном компе опять же работает нормально, а на сервере в терминале выдаёт это:
: not found-parser.sh: 1: backup_znak-parser.sh:
backup_znak-parser.sh: 3: cd: can't cd to /var/www/cron/
: No such filerser.sh: 4: backup_znak-parser.sh: cannot open ./value
: not found-parser.sh: 14: backup_znak-parser.sh:
И создаёт копии файлов (кроме директорий, скрипт их генерирует но почему с вопросами?), со знаками вопроса в конце имени, находящихся в директории:
drwxrwxr-x 9 root www-data 4096 Oct 16 22:18 1?. 10-16-2016??
drwxr-xr-x 2 root root     4096 Oct 16 22:18 1?. 10-16-2016???
-rwxrwxrwx 1 root root      346 Oct 16 22:07 backup_znak-parser.sh
-rwxrwxrwx 1 root root        1 Oct 16 21:32 report.log
-rw-r--r-- 1 root root      213 Oct 16 22:18 report.log?
-rwxrwxrwx 1 root root        3 Oct 16 21:32 value
-rw-r--r-- 1 root root        3 Oct 16 22:18 value?
Код скрипта наверное не нужен, раз на локальной машине работает идеально.
В какую сторону рыть?

Пользователь добавил сообщение 16 Октября 2016, 22:35:34:
Хотя вот сам скрипт, может в нём дело...
#!/bin/bash
cd /var/www/cron/
read y < ./value
y=$((y + 1))
echo "$y" > ./value
data="$(date +%m-%d-%Y)"
name="$y. $data"
mkdir ./"$name"
echo "$data" >> ./report.log
cp -a /var/www/znak-parser ./"$name"/ 2>>./report.log
mysqldump -uuser -ppass --databases namedb > ./"$name"/baza.sql 2>>report.log
echo "" >> ./report.log

ТС не появлялся на Форуме более полугода по состоянию на 14/07/2019 (последняя явка: 17/10/2016). Модератором раздела принято решение закрыть тему.
--zg_nico
« Последнее редактирование: 14 Июля 2019, 02:06:34 от zg_nico »

Оффлайн Dot-mitsu

  • Активист
  • *
  • Сообщений: 299
    • Просмотр профиля
Re: Проблема с запуском скрипта в cron
« Ответ #1 : 17 Октября 2016, 00:31:32 »
Помоему в сторону сервера на котором сайт работает. Спросите у хостера, что за ограничения стоят.

Оффлайн EvangelionDeath

  • Администратор
  • Старожил
  • *
  • Сообщений: 3487
  • Ubuntu 22.04 х64
    • Просмотр профиля
Re: Проблема с запуском скрипта в cron
« Ответ #2 : 17 Октября 2016, 11:04:52 »
1) А путь к сайту на VDS точно /var/www/cron ?
2) Я бы иправлял ваш скрипт и смотрел, где у Вас что лежит на VDS. И почему-то я считаю, что сайт лежит у вас в вашей домашней директории.

Код: (bash) [Выделить]
#!/bin/bash

PATHTOCRON=<path to cron>
PATHTOREPORT=<path to report>
PATHTOZNAK=<path to znak parser>

read y < "$PATHTOCRON/value"
y=$((y + 1))
echo "$y" > "$PATHTOCRON/value"
data="$(date +%m-%d-%Y)"
name="$y.$data"
mkdir "$PATHTOCRON/$name"
echo "$data" >> $PATHTOREPORT
cp -a $PATHTOZNAK "$PATHTOCRON/$name/" 2>>$PATHTOREPORT
mysqldump -uuser -ppass --databases namedb > "$PATHTOCRON/$name"/baza.sql 2>>$PATHTOREPORT
echo "" >> $PATHTOREPORT
HP Pro 840 G3: Intel i5-6300U, 32GB DDR4 2133MHz, Intel 520, Intel Pro 2500 180GB/Ubuntu 22.04
Dell Latitude 5590: Intel i5-8350U, 16GB DDR4 2400MHz, Intel 620, Samsung 1TB/Ubuntu 22.04

Оффлайн polger

  • Автор темы
  • Новичок
  • *
  • Сообщений: 6
    • Просмотр профиля
Re: Проблема с запуском скрипта в cron
« Ответ #3 : 17 Октября 2016, 14:49:51 »
Упростил скрипт до идиотизма. Оставил только: #!/bin/bash
cp -a /var/www/znak-parser /var/www/cron/bbb/ 2>>/var/www/cron/report.log
Всё равно создаёт report.log? со знаком вопроса на конце.
Что делать?

Пользователь добавил сообщение 17 Октября 2016, 20:00:04:
Я разобрался!  :D
Как всегда ошибка банальна.
Не правильная кодировка файла или что-то типа того. Пересоздал файл, но уже в терминале, скопировал в него скрипт и всё поехало как надо.
Всем спасибо за советы.
« Последнее редактирование: 17 Октября 2016, 20:00:04 от polger »

 

Страница сгенерирована за 0.085 секунд. Запросов: 23.