我最近买了一台小型服务器,并在上面给一些朋友设置了帐户。他们都有自己的网页在~/public_html
使用lighttpd
,所以我写了一个脚本来备份每个用户的public_html
目录。我的电脑里有这个脚本,.profile
所以每次我登录时它都会执行,然后将数据备份到我的笔记本电脑上。当脚本启动时,它会将“PROCESSING”写入日志文件。
我还有一个自定义的 bash 脚本,/etc/update-motd.d/
它运行一个 python 脚本来显示每个用户在 MOTD 中完成最新备份的时间。但是,如果日志文件显示“PROCESSING”,它应该显示该值而不是自上次备份以来的时间。然而,事实并非如此。如果我从一个终端 ssh 进入,我的备份脚本启动,然后从第二个终端 ssh 进入,MOTD 仍然显示自上次备份以来的时间。cat
第二个 shell 中的命令行显示日志文件确实包含“PROCESSING”。
然后,我在上一个备份脚本中添加了一个时间戳,以便当前时间显示在 MOTD 中。这让我发现,在备份脚本运行时,MOTD 不会更新。一旦我的备份脚本运行完毕,MOTD 中的时间戳就会再次更新。
所以我的问题是为什么 MOTD 会在第二个 ssh 会话中无法更新,直到我的脚本.profile
在第一个会话中运行完成?