标签归档:linux

linux 用户通过ssh登录后邮件提醒

我一般没事的话,不长登录服务器,长时间没有登录的话,就会担心服务器会不会被入侵了,没安全感啊!–

所以写了一个脚本,只要有用户通过ssh登录到服务器上,自动把ip地址所在地图时间发送到特定邮箱中

所需软件

1.nali 获取ip的所在地区

2. mutt 以及 msmtp

Ubuntu 下使用 mutt 和 msmtp 发送 Gmail 邮件

配置成功了,发个邮件测试一下

假如能收到的话,可以进行下一步了

新建一个脚本 放到 /opt下其他目录也行比如 /usr/local/bin/ 只要是在环境变量path中就行了

也可以不通过mutt,直接通过 msmtp发送

 

这样每次登录后会调用邮件发送脚本 我发送接受都是用的QQ邮箱,基本上3秒之内就能收到通知

linux下多个终端命令历史记录保存

在此之前我一直以为linux下使用screen 或者tmux,等终端复用工具的话,命令历史是不会保存的。

可是事实是会保存到~/.bash_history 文件中去,只是历史记录并不是实时保存,只有在当前(session1)回话结束之后(执行了exit命令后) bash才会把历史记录写入到.bash_history文件中。即使已经写入到了.bash_history中,假如某个回话(session2)在写入之前就已经开启了,那么这个回话(session2)中的历史记录并不会实时刷新,也就是说你执行一遍history 打印出来的命令并没有 (session1)中的历史命令

做个测试

首先新建两个回话

进入session1

在进入session2

执行history 从第2001 行开始 都是不一样的

再次进入session1 并退出 新建session3 执行history命令(由于history记录数的限制,只能存储2000条历史记录,所以行数发生了变化)第1999行为在session1中执行的命令

进入session2(可以看到没有发生变化)

 若想多个回话之间实时共享历史记录,可以试试下面这种方法

~/.bashrc 或 ~/.bash_profile 文件中:
shopt -s histappend
PROMPT_COMMAND=’history -a’

 

这个是在网上搜到的,我没试因为我觉得还是分开的好些 一般建立多个回话是有多个任务要进行
要是历史记录共享的话就有些乱了