Linux で、過去のファイルを削除する方法
以下の例は、/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
以下の例は、/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 /
以下のスクリプトで、YOUR_FILENAME のところを対象となるファイル名を指定して実行する。まずは元のファイルを YOUR_FILENAME.org という名前でコピー、オリジナルのファイルを上書きする形で英単語の前後に半角スペースを入れて置換する。
export FILENAME='index.rst'; \
cp ${FILENAME} ${FILENAME}.org; \
cat ${FILENAME}.org | sed y/0123456789/0123456789/ | \
sed -E "s/([^ \t:\*0-9\.,<>\-~a-zA-Z()ー[:punct:]]|\" \w+ )([a-zA-Z])/\1 \2/g" | \
sed -E "s/([a-zA-Z])([^ \t:\*0-9\.,<>\-~a-zA-Z()ー[:punct:]]| \w+ \"$)/\1 \2/g" > ${FILENAME}
HTML 文書の中でこの置換を行いたい場合、<span>...</span> によって見えないスペースが加えられていることがあるため、以下のスクリプトで対応する。
Drupal 8 で、コアやモジュールをアップートしたらエラーが出るようになってしまった、というのは実はよくある。これは Drupal 8 がキャッシュの仕組みを積極的に取り入れたことも影響しているように思う。**WSOD(White Screen of Death)**になったり、Fatal エラーが出たら、以下をチェツクする。
GRANT USAGE ON `<データベース名>`.* TO '<ユーザー名>'@'%';
GRANT ALL PRIVILEGES ON `<データベース名>`.* TO '<ユーザー名>'@'%' WITH GRANT OPTION;
1. システム内で、すべてのサーバの時刻を合わせる。
ntpdate time.apple.com
などを cron ジョブでまわす。
2. 常にディスク容量をチェックする。
Linux でユーザーをグループに追加する方法は1つだけではなく、実はいろいろな方法がある。コマンドでいうと、gpasswd と usermod、adduser の3つ。
このうち、ユーザーをグループに追加するには gpasswd を使うとよい。
gpasswd -a <USERNAME> <GROUPNAME>
usermod は、
usermod -aG <GROUPNAME> <USERNAME>
のように使うが、-a オプションを忘れて usermod -G ... だけにしてしまうと、なんと既存のグループが上書きされてしまうので注意が必要である。
Ubuntu 系では、adduser が使える。
adduser <USERNAME> <GROUPNAME>
tag コマンドを使う。
docker tag <image_id> <repository_name>:<tag>
ここで、:tag の部分は省略して <repository_name> だけにしてもよい。コロン(:)の後の tag は、日付やバージョンをつけて同じリポジトリの中で異なるバージョンのイメージを置くという感じ。
docker tag <image_id> <repository_name>
Ubuntu 14.04 LTS では、サーバ起動時はUpstart というもので Apache などのサービスを起動していたのだけれど、16.04 LTS からは Systemd というのに変わってしまった。それによって、これまで 14.04 LTS ではうまくいっていたサーバ起動時の Docker コンテナ起動ができなくなってしまった・・・
・・・と、お嘆きの皆様、systemd なんかをいろいろいじってみたのだが、以下のようなシンプルな手順で今は落ち着きました。
docker run --name <Docker 名> -h <ホスト名> -it <コンテナ ID> /bin/bash
でコンテナを起動しておく。そのあと、/etc/rc.local (の、最後の方)に
vi /etc/rc.local
以下のように docker start を書いておくだけ。