Intereting Posts
Ошибка монтирования NFS Как снова включить ключ блокировки колпачка? SysBench выделяет невероятную производительность записи на диск на белом поле против сервера Tier1 Можно ли проверить использование хэша файла вместо всего файла, используя OpenSSL dgst? Список измененных файлов за последние 24 часа Получить список каталогов в иерархии, которые содержат только символические ссылки Переключить сенсорные кнопки независимо от сенсорной панели извлечь диск по имени пути / тома Расширение имени файла с диапазонов дат Установите пользовательскую частоту обновления для Sway (Wayland) почему этот параллельный процесс не записывает вывод в файлы, а вместо этого печатает на консоли? Почему «v» в mkfs.vfat? Как просмотреть файлы в zip из командной строки терминала Я хочу сравнить два списка и распечатать вывод разности из списка 1 Вход в консоль SSH работает, но SFTP не делает, почему?

crontab дает только 2045 строк вывода вместо 6000 строк

Я выполняю один сценарий оболочки с помощью crontab, который должен выдавать более 6000 строк, только он дает выход до 2045 строк, а затем выходит. когда я запускаю этот сценарий оболочки, он работает отлично, давая более 6000 строк

У моего скрипта нет ошибок при запуске из bash. Но когда я бегу от crontab, он перенаправляет вывод только на 2045 или 2046 строк.

мой файл сценария со следующей строкой /script/scriptip.sh

#!/bin/bash awk '$2 ~ /10.169/ || $2 ~ /10.170/ {print $2}' /script/iplist.txt > /script/ipid.txt 

у моего iplist.txt будет 18000 строк текста

и мой вход crontab

  * * * * * /script/scriptip.sh 

я запускаю вручную

 ./script/scriptip.sh 

Хорошо, я думаю, что проблема заключается в различии между абсолютными и относительными путями. Вы не дали нам многого, чтобы продолжить, но я предполагаю, что у вас есть каталог в вашем $HOME script и именно там вы держите свои скрипты.

Итак, вы открываете терминал (это открывается в вашем $HOME по умолчанию) и запускается

 ./script/scriptip.sh 

. означает ваш текущий каталог, так что приведенная выше команда фактически запускается

 /home/kotesh/script/scriptip.sh 

Однако в вашем crontab вам нужно использовать абсолютный путь, так как он не будет запущен из вашего каталога $HOME . Попробуйте заменить линию cron на эту, которая использует абсолютный путь:

  * * * * * /home/kotesh/script/scriptip.sh 

Также убедитесь, что вы используете абсолютные пути в самом скрипте:

 #!/usr/bin/env bash awk '$2 ~ /10.169/ || $2 ~ /10.170/ {print $2}' /home/kotesh/script/iplist.txt > /home/kotesh/script/ipid.txt