LINUX.ORG.RU

Сообщения sain

 

Не работает «sort -n» при запуске скрипта по крону

Форум — Admin

Не работает сортировка вывода «sort -n» при запуске скрипта по крону.
Есть простой скрипт. Суть: читаем арп-таблицу, дописываем ее в файл ip_list.txt >> переименовываем ip_list.txt в ip_list.txt.tmp >> читаем ip_list.txt.tmp, отфильтровываем лишние строки, сортируем по числовым значениям строк, убираем дубликаты строк и записываем результат в ip_list.txt

[user@host ~]$ cat create_ip_list.sh 
#!/bin/bash
/sbin/arp -n >> /home/user/ip_list.txt
mv /home/user/ip_list.txt /home/user/ip_list.txt.tmp
current_date=`date`
echo "Last update: $current_date" > /home/user/ip_list.txt
cat /home/user/ip_list.txt.tmp | grep -v "Last update" |awk '{print $1}'| sort -n | uniq >> /home/user/ip_list.txt
rm /home/user/ip_list.txt.tmp
exit 0

Запуск скрипта - по крону

$ crontab -l
* *    * * * cd /home/user && ./create_ip_list.sh

Если запустить скрипт пальцами - строки в файле отсортированы по числам

$ ./create_ip_list.sh
$ head ip_list.txt 
Last update: Птн Дек 20 19:58:50 EET 2013
Address
10.1.1.1
10.1.1.2
10.1.1.3
10.1.1.4
10.1.1.5
10.1.1.6
10.1.1.9

Если запуск происходит по крону - сортировка не работает.

$ head ip_list.txt
Last update: Fri Dec 20 19:55:01 EET 2013
Address
10.1.1.1
10.1.1.10
10.1.1.103
10.1.1.104
10.1.1.105
10.1.1.106
10.1.1.107

В чем может быть причина такого поведения?

 , ,

sain
()

RSS подписка на новые темы