W&PBBS (/bbs/index.php)
-   BSD (/bbs/forumdisplay.php?f=118)
-   -   Nas4Free странный cron (/bbs/showthread.php?t=161875)
-   [короткий адрес страницы] (/p161875&zs=cc33cc18c29ba737612f21cd7eacd22f)

Топор 05-11-2017 20:13

Nas4Free странный cron
 
Nas4Free 11.1.0.4 - Atomics (сборка 4812)
FreeBSD 11.1-RELEASE-p2 #0 r325053M: Sat Oct 28 18:14:06 CEST 2017

Пытаюсь выполнять скрипт архивирования.
Код:
#!/bin/bash
exec >/root/backup15/log 2>&1

echo $LANG
echo $USER
echo $SHELL

DAY00=/mnt/r1/common/special/ftpbackup/day/day00.7z

if [ -f $DAY00 ]; then
  rm $DAY00
fi

/usr/local/bin/7z a -bd -y -sccUTF-8 -scsUTF-8 -ssw -mx3 -mmt [email]-ir@/root/backup15/include.lst[/email] [email]-xr@/root/backup15/exclude.lst[/email] /mnt/r1/common/special/ftpbackup/day/day00.7z
Из консоли скрипт работает нормально, создается архив, русские имена нормальные.
Вот лог работы:
Код:
en_US.UTF-8
root
/bin/tcsh

7-Zip [64] 16.02 : Copyright (c) 1999-2016 Igor Pavlov : 2016-05-21
p7zip Version 16.02 (locale=en_US.UTF-8,Utf16=on,HugeFiles=on,64 bits,6 CPUs x64)

Scanning the drive:
262 folders, 750 files, 633186383 bytes (604 MiB)

Creating archive: /mnt/r1/common/special/ftpbackup/day/day00.7z

Items to compress: 1012

Files read from disk: 750
Archive size: 596734890 bytes (570 MiB)
Everything is Ok
Запускаю тот же скрипт с помощью CRON - русские буквы покорявлены, странный лог:
Код:
ru

/bin/tcsh

7-Zip [64] 16.02 : Copyright (c) 1999-2016 Igor Pavlov : 2016-05-21
p7zip Version 16.02 (locale=C,Utf16=off,HugeFiles=on,64 bits,6 CPUs x64)

Scanning the drive:
262 folders, 750 files, 633186383 bytes (604 MiB)

Creating archive: /mnt/r1/common/special/ftpbackup/day/day00.7z

Items to compress: 1012

Files read from disk: 750
Archive size: 596735602 bytes (570 MiB)
Everything is Ok
Стоит отметить, что если архив, созданный через CRON развернуть имена файлов русские, как и должны быть. Как сделать так, чтобы архив в консоли и crona содержал нормально-русские имена файлов?

barabashka 07-11-2017 14:48

Так у тебя различается локаль, посмотри внимательно:
Цитата: Топор >
Код:
en_US.UTF-8
root
/bin/tcsh

7-Zip [64] 16.02 : Copyright (c) 1999-2016 Igor Pavlov : 2016-05-21
p7zip Version 16.02 (locale=en_US.UTF-8,Utf16=on,HugeFiles=on,64 bits,6 CPUs x64)
Код:
ru

/bin/tcsh

7-Zip [64] 16.02 : Copyright (c) 1999-2016 Igor Pavlov : 2016-05-21
p7zip Version 16.02 (locale=C,Utf16=off,HugeFiles=on,64 bits,6 CPUs x64)
Вот есть интересная статейка: http://www.logikdev.com/2010/02/02/...-your-cron-job/

Топор 09-11-2017 18:41

Цитата: barabashka > Так у тебя различается локаль, посмотри внимательно:
Вот есть интересная статейка: http://www.logikdev.com/2010/02/02/...-your-cron-job/
Спасибо, глянул.

Добавление LANG=en_US.UTF-8 в /etc/environment не помогло.
реально помогло добавление следующих строк в каждое задание cron
Код:
export LANG=en_US.UTF-8
export LANGUAGE=en_US.UTF-8
export LC_ALL=en_US.UTF-8

Спасибо.

Bold
Italic
Rate
Code
Spoiler

Преобразовывать интернет адреса в ссылки

Часовой пояс GMT +4, серверное время: 17:20.

powered by vbulletin engine