Не работает «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
В чем может быть причина такого поведения?