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


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

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

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
« Последнее редактирование: 16 Октябрь 2016, 22:35:34 от polger »

Оффлайн Dot-mitsu

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

Оффлайн EvangelionDeath

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

Код: Bash
  1. #!/bin/bash
  2.  
  3. PATHTOCRON=<path to cron>
  4. PATHTOREPORT=<path to report>
  5. PATHTOZNAK=<path to znak parser>
  6.  
  7. read y < "$PATHTOCRON/value"
  8. y=$((y + 1))
  9. echo "$y" > "$PATHTOCRON/value"
  10. data="$(date +%m-%d-%Y)"
  11. name="$y.$data"
  12. mkdir "$PATHTOCRON/$name"
  13. echo "$data" >> $PATHTOREPORT
  14. cp -a $PATHTOZNAK "$PATHTOCRON/$name/" 2>>$PATHTOREPORT
  15. mysqldump -uuser -ppass --databases namedb > "$PATHTOCRON/$name"/baza.sql 2>>$PATHTOREPORT
  16. echo "" >> $PATHTOREPORT
  17.  
Fujitsu UH552: Intel Core i3-3217U, 16GB DDR3 1600MHz, Intel HD4000, Intel 535 120GB/Ubuntu 16.04 Mate
HP 625: AMD Athlon P320, 4GB DDR3 1333MHz, AMD HD4250, Seagate Momentus/Ubuntu 14.04 Mate

Оффлайн 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.064 секунд. Запросов: 24.