他のグループが所有するコンピュータから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アクセス権が必要なようです。したがって、シェルがなければ少し混乱します。