2016-05-04 2 views
2

Я часто использую команду даты с --date опции Серверы Linux, какAIX эквивалент «Дата --date»

date --date="3min" 

Однако -d/- функция даты не кажется доступно на AIX сервер: https://www.ibm.com/support/knowledgecenter/ssw_aix_61/com.ibm.aix.cmds2/date.htm

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

date --utc --date "now $TIMEDELTA" +"%Y%m%d-%H")` 

в среде AIX?

У меня нет и не может быть любого доступа root к серверу.

+1

Я думаю, что это та самая проблема, с которой сталкивается Solaris. Вам нужно использовать Perl или другой инструмент для обработки данных. См. [Эквивалентная дата от GNU до солярия] (http://stackoverflow.com/q/17815327/1983854). – fedorqui

+0

Сайт [Суперпользователь] (http://superuser.com/) - лучшее место, где можно задать вопрос. –

ответ

2

Несколько вариантов приходят на ум:

  1. Скачать GNU date в свой домашний каталог и скомпилировать там. Плюсы: вы получаете полную мощность GNU date, с Cons: требует компиляции и управления, а не сразу для других пользователей или компьютеров.

  2. Эмуляция поведения с использованием PERL, TCL, PHP, MySQL или любого другого языка высокого уровня. Плюсы: вы получаете много энергии, без необходимости ничего устанавливать, но с Против: вы должны знать язык, и вы зависите от его присутствия.

  3. Используйте решение на основе оболочки, например datecalc. Если ваш $TIMEDELTA за несколько дней, вы можете использовать: datecalc $(date +'%Y %m %d') + $TIMEDELTA. Плюсы: никаких внешних инструментов не требуется, с Cons: работает только с детализацией дневного уровня и не может быть немедленно доступна другим пользователям или машинам.

  4. Цель: создать собственную небольшую программу, используя strptime, getdate или другие встроенные C. Плюсы: решительно решает проблему с вашей проблемой, с минусом: недоступно для других пользователей или компьютеров, вам, возможно, придется изучить C, а не вперед гибко.

Смежные вопросы