Тема : Nas4Free странный cron


Топор  05-11-2017 20:13
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 -ir@/root/backup15/include.lst -xr@/root/backup15/exclude.lst /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/locale-settings-for-your-cron-job/

Топор  09-11-2017 18:41
Так у тебя различается локаль, посмотри внимательно:
Вот есть интересная статейка: http://www.logikdev.com/2010/02/02/locale-settings-for-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


Спасибо.