Bash で、ファイル名を再帰的に変更する方法
#!/bin/bash
export TARGET_DIR='./' # Current directory
export ORIGINAL_NAME='xxxxx'
export TARGET_NAME='yyyyy'
find "${TARGET_DIR}" -name '*${ORIGINAL_NAME}*' -execdir rename "s/${ORIGINAL_NAME}/${TARGET_NAME}/g" '{}' \;
#!/bin/bash
export TARGET_DIR='./' # Current directory
export ORIGINAL_NAME='xxxxx'
export TARGET_NAME='yyyyy'
find "${TARGET_DIR}" -name '*${ORIGINAL_NAME}*' -execdir rename "s/${ORIGINAL_NAME}/${TARGET_NAME}/g" '{}' \;
AWS re:Invent 2017 で、AWS の VPC 内で NTP を提供するという地味だが重要なアナウンスがあった。使い方は以下のとおり。
CentOS 系
sudo yum erase ntp*; sudo yum -y install chrony; sudo service chronyd start
Debian/Ubuntu 系
sudo apt-get remove -y ntp*; sudo apt-get -y install chrony; sudo service chronyd start; apt-get autoremove
ssh のコマンドに-o StrictHostKeyChecking=no オプションを追加する
ssh -o StrictHostKeyChecking=no your_username@example.com
あるいは(この方法はあまりうまくいかないかもしれないが・・・)
export TARGET_HOST='example.com'
if [ -z `ssh-keygen -F ${TARGET_HOST}` ]; then
ssh-keyscan -H ${TARGET_HOST} >> ~/.ssh/known_hosts
fi
ssh-keygen -R ${TARGET_HOST}
ssh-keyscan -f ~/.ssh/known_hosts ${TARGET_HOST} >>~/.ssh/known_hosts 2>/dev/null
/swapfile という名前のファイルをサイズ4GBの大きさで、作成(この例ではルート(/)配下にswapfileという名前のスワップファイルが作成される)。
$ dd if=/dev/zero of=/swapfile bs=1024K count=4096
$ mkswap /swapfile
pi@raspberrypi ~ $ swapon -s
Filename Type Size Used Priority
/var/swap file 102396 0 -1
やりたいのはたったこれだけだが、手入力で管理する手間を考えたら自分の貴重な時間を年間 12〜20時間は削減できるはず!(当社比(笑、1日 3〜5分かかるとして年間 240日出勤と仮定)これは約半日〜1日に相当する。それでは実際に作ってみましょう。
Apache 2.4.17 より HTTP/2 がサポートされたというのを知って早速このブログをホストしているサーバー(Ubuntu 16.04 LTS)でsudo a2enmod http2 と打ってみたが、ERROR: Module http2 does not exist!とのエラー。ググってみるとどうやら Apache2 をアップグレードしないといけないらしい。
sudo add-apt-repository -y ppa:ondrej/apache2
sudo apt-key update
sudo apt-get update
sudo apt-get --only-upgrade install apache2 -y
以下のメッセージが出たら、Yを選択(※設定は全部消えるので必要ならapache2.confのバックアップを取ること)。
以下の例は、/var/www/html/backups のディレクトリを find して、3日以前の backup*.tar.gz を xargs rm -fr で削除する。
find /var/www/html/backups -mtime +2 -name "backup*.tar.gz" | xargs rm -fr
Ubuntu で、設定を間違えて GUI のログイン画面が表示されなくなってしまった、そんなお嘆きのあなた(わたし)におくる対処方法
Ubuntu をリカバリモードで起動、コマンドプロンプトに root で drop する(このとき、root のパスワードを聞かれるからパスワードを忘れた場合はあきらめるしかないのか・・・?)。root で入っても、ディスクはリードオンリーモードなので、書き込み可能にする。
mount -o remount,rw /
その上で、
vi /etc/default/grub
GRUB_CMDLINE_LINUX_DEFAULT="quiet splash" とか
GRUB_CMDLINE_LINUX_DEFAULT="" あるのを
↓
GRUB_CMDLINE_LINUX_DEFAULT="text"
と編集する。
GRUB の設定を反映させるために以下のコマンドを実行。
いや、そもそもネットワークの設定がおかしくて起動しなくなったので設定ファイルを編集したいのですが。
以下のコマンドを実行して書き込みもできるようにする。
mount -o remount,rw /