SCP를 통해 Linux 컴퓨터가 부팅되는 시기를 확인하는 방법은 무엇입니까?

SCP를 통해 Linux 컴퓨터가 부팅되는 시기를 확인하는 방법은 무엇입니까?

다른 그룹이 소유한 컴퓨터에서 SCP를 통해 파일을 받고 있습니다. 내 유일한 액세스는 SCP이므로 해당 컴퓨터에 SSH로 연결할 수 없습니다. 때때로 시스템이 재부팅되기도 했는데, 이는 내가 더 잘 알지 못하면 나에게 문제를 일으킬 수 있었습니다. 마지막으로 부팅된 시기를 알아내기 위해 해당 시스템의 일부 파일을 SCP로 조사하고 싶지만 적합한 항목을 찾을 수 없는 것 같습니다.

scp를 통해 복사를 시도했습니다.

scp -p remoteSys:/proc .

(-p는 타임스탬프 유지를 의미함) /proc는 일반 파일이 아니므로 복사할 수 없다는 말을 들었습니다. 내가 시도할 때:

scp -p remoteSys:/proc/uptime .

현재 타임스탬프가 포함된 0바이트 파일을 얻습니다. 내가 복사한 내용:

scp -p remoteSys:/var/log/boot.log .

시작 날짜일 수도 있고 아닐 수도 있는 날짜가 포함된 크기가 0인 파일을 받았습니다.

누구든지 좋은 제안이 있습니까?

미리 감사드립니다.

답변1

scp remote:/var/log/wtmp /tmp/remote.wtmp
last -f /tmp/remote.wtmp reboot

답변2

/proc액세스 시 동적으로 생성됨 - 현재 날짜 타임스탬프를 해석합니다.

타임스탬프는 boot.log최신 출시 및 모든 온라인 서비스와 일치해야 합니다.

나에게는 현재 솔루션이 귀하의 한계를 고려하면 충분해 보입니다.

답변3

시스템이 cronie를 사용하는 경우(대부분의 시스템이 사용하며 crontab이 있는 디렉터리에 액세스할 수 있음) crontab의 @reboot 항목을 사용하고 명령을 실행하여 자신만의 재부팅 로그를 생성할 수 있습니다. 그렇게 할 수 있으면 crontab 파일을 (보통) /var/spool/cron/에 넣을 수 있습니다. 이는 실제로 올바른 방법은 아니지만 작동합니다(보통 crontab -e를 호출해야 함). . 이렇게 할 수 있다면 해당 파일이 사용자의 소유인지, 파일 권한이 600으로 설정되어 있는지 확인해야 합니다.

예를 들어, 다음 내용이 포함된 파일을 /var/spool/cron/myusername에 배치했습니다.

@reboot /usr/bin/uptime >> /home/myusername/uptime.log
@reboot /usr/bin/echo "System was rebooted, current reboot date $(/usr/bin/date)" >> /home/myusername/uptime.log

다시 시작하면 항목이 /home/myusername/uptime.log에 추가됩니다.

18:55:06 up 0 min,  0 users,  load average: 0.88, 0.18, 0.06
System was rebooted, current reboot date Wed Jun  6 18:55:06 EDT 2018

scp 액세스 권한은 있지만 ssh 액세스 권한은 없는 것이 이상합니다. 권한이 없는 계정에서 ssh 액세스 권한을 부여하지 않습니까? scp는 ssh를 통해 실행되기 때문에 ssh 액세스 권한이 있어야 하는 것 같습니다. 따라서 쉘이 없으면 약간 혼란스럽습니다.

관련 정보