ablog

不器用で落着きのない技術者のメモ

split コマンドでファイルを分割する

split コマンドでファイルを分割したときのメモ。

コマンド

$ split -da 3 -n 120 --additional-suffix .csv log_10min.tsv log_10min_

実行結果


はてなブログのタイトルとURLをスクレイピングする Python スクリプト

追記(2020/1/6):
複数月一気に取得できるよう改良した。以下は2020年10月から3ヶ月分を取得する例。

$ python hatena_scraper.py 2020 10 3 > 2020Q4


はてなブログの記事一覧をスクリピングしてからタイトルと URL を TSV に出力する Python スクリプト

  • pyquery をインストール
$ pip install pyquery
import sys
from pyquery import PyQuery as pq

year = sys.argv[1]
month = sys.argv[2]

url = 'https://yohei-a.hatenablog.jp/archive/{0}/{1}'.format(year, month)
doc = pq(url)

for result in doc('.entry-title-link').items():
    print(result.text() + "\t" + result.attr('href'))
  • 実行結果
$ python hatena_scraper.py 2020 4
Amazon Redshift に対してタグでアクセス制御を行う        https://yohei-a.hatenablog.jp/entry/20200426/1587894516
jq メモ https://yohei-a.hatenablog.jp/entry/20200426/1587875011
Redshift の接続ログを取得する Python スクリプト https://yohei-a.hatenablog.jp/entry/20200425/1587803654
Pythonメモ      https://yohei-a.hatenablog.jp/entry/20200425/1587798893
iPad Air を Macbook Pro のセカンドディスプレイにしてみた        https://yohei-a.hatenablog.jp/entry/20200424/1587685384
Amazon Redshift で監査ログを取得するクエリサンプル      https://yohei-a.hatenablog.jp/entry/20200421/1587469639
APGアクティビティストリームの KMS カスタマー管理キーに対する Kinesis Firehose のアクセス権      https://yohei-a.hatenablog.jp/entry/20200421/1587466652
KMS で同一アカウント内からのアクセスを許可するキーポリシー      https://yohei-a.hatenablog.jp/entry/20200421/1587457515
Amazon EC2 の EBS 帯域幅        https://yohei-a.hatenablog.jp/entry/20200408/1586326862
Python で関数の戻り値でハンドリングする https://yohei-a.hatenablog.jp/entry/20200408/1586296904
AttributeError: 'str' object has no attribute 'read'    https://yohei-a.hatenablog.jp/entry/20200408/1586291597
Kinesis Firehose S3 に出力した JSON を Python でパースする      https://yohei-a.hatenablog.jp/entry/20200408/1586289985
Linux や macOS で隠しファイルを含めて ZIP で圧縮する    https://yohei-a.hatenablog.jp/entry/20200407/1586251116
Aurora PostgreSQL 互換のアクティビティストリームを Lambda でデコードする        https://yohei-a.hatenablog.jp/entry/20200407/1586222003
AWS Lambda で Amazon Redshift から S3 に UNLOAD する    https://yohei-a.hatenablog.jp/entry/20200405/1586053151
macOS で head コマンドを使う    https://yohei-a.hatenablog.jp/entry/20200403/1585893162
Python から Redshift に接続してみる     https://yohei-a.hatenablog.jp/entry/20200403/1585878053

.gitignoreで .DS_Store を削除する

  • gti で .DS_Store を無視するよう設定する
$ vi ~/.gitignore_global
.DS_Store
$ git config --global core.excludesfile ~/.gitignore_global
  • GitHub の .DS_Store を削除する
$ git rm -r --cached .
$ git add .
$ git commit -m "create .gitignore"
$ git push origin master

vsftpd で ftp サーバを立てる手順

vsftpd で ftp サーバを立てる手順。

  • vsftpd をインストール・起動・自動起動設定
$ sudo yum -y install vsftpd
$ sudo adduser ftpuser
$ sudo passwd ftpuser
$ sudo systemctl start vsftpd
$ sudo chkconfig vsftpd on
  • ftp クライアントをインストール
$ sudo yum -y install ftp
  • 接続してみる
$ ftp localhost
Connected to localhost (127.0.0.1).
220 (vsFTPd 3.0.2)
Name (localhost:ec2-user): ftpuser
331 Please specify the password.
Password:
230 Login successful.
Remote system type is UNIX.
Using binary mode to transfer files.
ftp> ls
227 Entering Passive Mode (127,0,0,1,79,19).
150 Here comes the directory listing.
-rw-r--r--    1 1001     1001     346701734 Jul 07 03:00 apg_activitystream_cluster-***_20200706.csv
226 Directory send OK.
ftp>

VSCode から Github に連携する

VSCode から変更したファイルを Github に push した手順。

f:id:yohei-a:20200707093139p:plain

  • 変更したファイルの「+」をクリックしてステージング。

f:id:yohei-a:20200707093302p:plain

  • コメントを入力して、「✔︎」をクリックしてコミット。
  • 「・・・」をクリックしてメニューを開き、「プッシュ」を選択。

VSCode の Remote - SSH で EC2 上のファイルをリモート編集する

VSCode の Remote - SSH 拡張機能をインストールして、VSCode から EC2 上のファイルを直接編集できるようにした手順。

インストール

  • VSCode を起動する
  • 左メニューの [Extensions] をクリックし、"remote" で検索し、Remote SSH を選択。
  • [Install] をクリックしてインストール。
  • インストールが完了すると、左メニューに [Remote Explolrer] アイコンが表示される。

f:id:yohei-a:20200707065916p:plain

設定

  • 左メニューの [Remote Explolrer] をクリック。
  • [SSH TARGETS] の歯車アイコンをクリック。
  • 設定ファイル(macOS の場合、/Users/<ユーザー名>/.ssh/config など)を選択

f:id:yohei-a:20200707070124p:plain

  • EC2の接続情報を追記。
Host ec2-dev
  User ec2-user
  Port 22
  Hostname ec2-**-***-**-**.ap-northeast-1.compute.amazonaws.com
  IdentityFile ~/.ssh/mykey.pem
  TCPKeepAlive yes
  IdentitiesOnly yes

Remote SSH で EC2 にログイン

  • SSH TARGETS から ec2-dev をクリック。
  • 新しいウインドウが開き、ssh で接続される。

f:id:yohei-a:20200707071005p:plain

ファイルを編集

  • 左メニューの[Explorer]をクリック、[Open Folder]をクリック、ディレクトリを選択。
  • ファイルをクリックして開く。

f:id:yohei-a:20200707070907p:plain

補足