Вы можете выполнить это с помощью команды nohup, если она установлена.
цитата из https://www.cyberciti.biz/tips/nohup-execute-commands-after-you-exit-from-a-shell-prompt.html
синтаксис команды nohup:
Синтаксис следующийnohup имя-команды &
ИЛИ
nohup / путь / к / имя-команды арг1 аргумент2 &
Где,
имя-команды: имя оболочки имя сценария или команды. Вы можете передать аргумент команде или сценарию оболочки. &: nohup не помещает автоматически выполняемую команду в фоновый режим; вы должны сделать это явно, завершив командную строку символом &.
Вам также может быть лучше настроить это задание, если вам придется регулярно запускать его как задание crontab
на сервере.
IP-адрес не выполняет команду. Команды всегда выполняются программой, работающей локально. Обычно соответствующая криминалистическая информация о том, кто выполнил команду, - это пользователь, запустивший эту программу.
Можно отследить команду до сервера, который прослушивает ввод по сети, например обнаружите, что какая-то команда была запущена из сеанса, созданного процессом SSH-сервера, а затем найдите, какую удаленную машину слушает этот серверный процесс. Если команда выполняется в терминале, то эту информацию можно получить, проверив, на каком терминале выполняется команда, и запустив who
, чтобы узнать, какой пользователь выполняет эту команду и откуда они вошли в систему. В конце концов, связь между временем, пользовательским терминалом и IP-адресом может быть получена с помощью last
.
По умолчанию отдельные команды не регистрируются. Если вы хотите это сделать, вы должны это настроить. Простой способ с минимальными издержками - учет процессов : установите acct
, убедитесь, что служба включена, а затем каждая отдельная команда (но не ее аргумент) регистрируется. Запустите
lastcomm
, чтобы просмотреть журнал, связанный с командами, временем и терминалами. Затем вы можете сопоставить информацию с IP-адресами, указанными в last
.
Добавьте этот код в /etc/profile
mkdir /var/log/history;chmod 777 /var/log/history
USER_IP=`who -u am i 2>/dev/null| awk '{print $NF}'|sed -e 's/[()]//g'`
export HISTFILE=/var/log/history/$(whoami)-$USER_IP-history
Вы также можете добавить имя файла истории к дате.