Ваш скрипт должен иметь строку "shebang" вверху:
#!/bin/sh
, хотя это и не обязательно.
Скрипт перезаписывает ip.txt
, потому что вы сказали это.Это то, что делает оператор перенаправления >
.Если вы хотите добавить в конец файла, используйте >>
.(Вы сказали, что пробовали это, с идентичными результатами. Я сомневаюсь, что это правда. Я подозреваю, что работа cron просто не производит никакого вывода, поэтому она ничего не добавляет к файлу.)
Но вы этого не делаетенужен отдельный скрипт просто для перенаправления;вы можете использовать >
или >>
в самом задании cron:
0 * * * * ifconfig >> /home/drake/Dropbox/maintenance_scripts/ip.txt
И, по крайней мере, в моей системе по умолчанию $PATH
для заданий cron /usr/bin:/bin
, но ifconfig
/sbin/ifconfig
.Попробуйте which ifconfig
или type ifconfig
, чтобы увидеть, где ifconfig
живет в вашей системе (мы оба используем Ubuntu, так что, вероятно, это одно и то же), и используйте полный путь в задании cron;например:
0 * * * * /sbin/ifconfig >> /home/drake/Dropbox/maintenance_scripts/ip.txt
И если вы хотите видеть , когда выход изменился (я полагаю, это то, что вы проверяете), достаточно просто добавить временную метку:
0 * * * * ( date ; /sbin/ifconfig ) >> /home/drake/Dropbox/maintenance_scripts/ip.txt