我通过 SCP 从另一组拥有的机器上获取文件。我唯一的访问权限是 SCP,我无法通过 SSH 进入他们的机器。有时,他们的系统会重新启动,如果我不知道的话,这会导致我这边出现问题。我希望从他们的系统中提取一些文件以找出它上次启动的时间,但我似乎找不到合适的东西。
我尝试通过 scp 复制:
scp -p remoteSys:/proc .
(-p 表示保留时间戳)并被告知 /proc 不是常规文件,无法复制。当我尝试时:
scp -p remoteSys:/proc/uptime .
我得到了一个带有当前时间戳的零字节文件。我复制了:
scp -p remoteSys:/var/log/boot.log .
我得到了一个零大小的文件,其日期可能是也可能不是启动日期。
有人有什么好的建议吗?
先感谢您。
/proc
在访问时动态创建 - 这解释了当前日期时间戳。打开的时间戳
boot.log
应与最新的启动和所有上线的服务一致。对我来说,考虑到您的限制,您当前的解决方案似乎足够了。
如果您的系统使用 cronie(大多数使用 - 并且您可以访问您的 crontab 所在的目录),您可以在您的 crontab 中使用 @reboot 条目并执行命令来创建您自己的重启日志。如果你能做到这一点,你可以将一个 crontab 文件放入(通常)/var/spool/cron/ 这并不是真正正确的方法,但它有效(通常你需要调用 crontab -e)。如果您可以这样做,您需要确保该文件归您的用户所有,并且该文件的权限设置为 600。
例如,我在 /var/spool/cron/myusername 中放置了一个文件,其内容如下:
重新启动后,条目将添加到 /home/myusername/uptime.log 中:
我觉得很奇怪,你有 scp 访问权限但没有 ssh 访问权限,他们不会在非特权帐户下授予你 ssh 访问权限吗?在我看来你应该有 ssh 访问权限,因为 scp 在 ssh 上运行,所以除非你没有 shell 我有点困惑。