ログイン・ログアウトを確認するコマンドとその情報が保存されているファイルの場所

ログイン・ログアウトを確認するコマンドとその情報が保存されているファイルの場所

last    =>     /var/log/wtmp    =>   ログイン・ログアウトの履歴
lastb  =>   /var/log/btmp   =>   ログイン失敗の履歴
lastlog  =>   /var/log/lastlog  =>   各ユーザの最終ログイン履歴

last/lastb/lastlogの履歴を消すには各バイナリのログファイルを空にすること。

echo > /var/log/wtmp
echo > /var/log/btmp
echo > /var/log/lastlog

システムに侵入した後に実行されるコマンドのトップ3は
w
last
history

参考
https://www.cyber-security-risk.info/article/450610196.html

Node.jsでWebページを取得し保存する方法

Node.jsでWebページを取得し保存する方法
Node.jsでWebページを取得し保存する方法

Node.jsを活用して、特定のWebページからHTMLを取得し、ローカルファイルに保存する手順をご紹介します。このプロセスは、Webスクレイピングやデータ収集に有用です。

まず、必要なライブラリをインポートします。axiosはHTTPリクエストを行うため、cheerioは取得したHTMLを解析するため、そしてfsはファイルシステム操作のために使用します。

const axios = require('axios');
const cheerio = require('cheerio');
const fs = require('fs');

次に、スクレイピング対象のURLを定義します。この例では、あるテレビ番組のスケジュールを含むページを対象としています。

const url = 'https://tv.yahoo.co.jp/search?t=3&t=1&g=&d=2023-12-12&ob=&oc=&dts=0&dtse=0&q=&a=23&sort=2';

axios.getを使ってHTTP GETリクエストを行い、ページのHTMLを取得します。取得したHTMLはfs.writeFileメソッドを使用してファイルに保存されます。

javascriptCopy code

axios.get(url) .then(
response => {
const html = response.data;
fs.writeFile('output.html', html, (err) => {
if (err) {
console.error('File write error:', err);
return;
} console.log('HTML saved to output.html');
});
}) .catch(error => {
console.error('Error during data fetching:', error);
}
);

最後に、cheerioを使用して特定のHTML要素(この例では<title>タグ)の内容を取得し、コンソールに出力します。

このコードは、Node.jsを使った基本的なWebスクレイピングの一例です。データ取得からファイル保存までの流れを理解することで、より複雑なスクレイピングタスクに挑戦するための基礎を築くことができます。

php 非同期でexec するには

php 非同期でexec するには=>
PHPでバックグラウンドプロセスを実行する簡単な方法

PHPでは、システムコマンドを背景で実行する方法があります。以下のスクリプトは、5秒間待機するsleepコマンドをバックグラウンドで実行します。

<?php
$command = 'sleep 5';
$commandInBackground = $command . ' > /dev/null 2>&1 &';
exec($commandInBackground);
echo "コマンドがバックグラウンドで実行されました。\n";
?>
    

このスクリプトを使うことで、PHPはコマンドの完了を待たずに他の処理を続けることができます。

シェルコマンドの出力制御の理解

> /dev/null 2>&1 &はUNIX系システムで用いられる、出力制御のための重要なシンタックスです。この構文の役割は以下の通りです:

  • > /dev/null: コマンドの標準出力をnullデバイスにリダイレクトし、すべての出力を破棄します。
  • 2>&1: 標準エラー出力を標準出力と同じ場所(この場合はnullデバイス)にリダイレクトします。これにより、エラーメッセージも破棄されます。
  • &: コマンドをバックグラウンドで実行し、PHPスクリプトを即座に次の処理に移行させます。

注意点と利用シーン

この方法は、非同期処理を実現するのに役立ちますが、出力が完全に無視されるためデバッグが難しくなります。エラートラッキングやデバッグが必要な場合は、他の方法を検討することをお勧めします。

<

vim で表示画面の横幅を増やすには、「:set columns=数値」

vim で表示画面の横幅を増やすには、以下のコマンドを使用します。

:set columns=数値

例えば、横幅を120文字に設定するには次のようにします。

:set columns=120

デフォルトの横幅は80文字です。 また :set columns とすると自動的に端末の横幅に合わせて最大化されます。

他にも横スクロールの有効化:

:set wrap

縦スクロールの有効化:

:set scroll=数値

などの設定方法があります。必要に応じてカスタマイズしていきましょう。

AWS Lambda で、Headless browser ヘッドレスブラウザ Chromeなど動かすにはどうしたらいい?=>puppeteer !

AWS LambdaでヘッドレスブラウザをNode.jsで実行するためには、Puppeteerというライブラリを使用することが一般的です。PuppeteerはChromeブラウザを制御し、Webページのスクリーンショットを取得したり、ページの操作を自動化したりするための便利なツールです。以下は、PuppeteerをLambdaで使用する手順です:

  1. プロジェクトのセットアップ: ローカルでPuppeteerをインストールし、依存関係をパッケージとしてデプロイするためのAWS Lambda関数をセットアップします。以下のコマンドを使用して、Puppeteerと関連するライブラリをインストールします。
npm install puppeteer-core chrome-aws-lambda

 

chrome-aws-lambda パッケージは、AWS LambdaでヘッドレスChromeを実行するためのものです。

 

Lambda関数のコード作成: Lambda関数のコードを作成し、Puppeteerを使用して必要な操作を行います。以下は、簡単な例です:

 

const chromium = require('chrome-aws-lambda');
const puppeteer = require('puppeteer-core');

exports.handler = async (event) => {
  let browser = null;
  try {
    // Puppeteerの起動
    browser = await puppeteer.launch({
      args: chromium.args,
      executablePath: await chromium.executablePath,
      headless: chromium.headless,
    });

    const page = await browser.newPage();

    // ここでページの操作を行う

    const content = await page.content();

    return {
      statusCode: 200,
      body: JSON.stringify(content),
    };
  } catch (error) {
    console.error('Error:', error);
    return {
      statusCode: 500,
      body: JSON.stringify('An error occurred.'),
    };
  } finally {
    if (browser !== null) {
      await browser.close();
    }
  }
};

 

 

3. Lambda関数のデプロイ: 作成したLambda関数のコードをAWS Lambdaにデプロイします。また、適切なIAMロールを設定して、Lambda関数が必要な権限を持つようにします。

4. Lambda関数のトリガー設定: Lambda関数をトリガーする方法を設定します。例えば、API Gatewayを使用してHTTPリクエストに応答するように設定することができます。

  1.  

これにより、AWS Lambda上でPuppeteerを使用してヘッドレスブラウザを実行し、Webページの操作を行うLambda関数を作成できます。必要に応じて、Puppeteerを使用してスクリーンショットを取得したり、データをスクレイピングしたりすることができます。