【Linux】全ユーザーのcron設定を一括でバックアップ

自身のcron設定をファイルに落とすには

こんな感じで簡単にできますが、
rootユーザー、adminユーザー、backupユーザーという風に
サーバー内で複数のユーザーがそれぞれcronでバッチ処理を実行しているとき、
それぞれのユーザーでバックアップをとるのは面倒なので、
rootで一気に全ユーザーのcronをバックアップしてしまいましょう。

cronの設定は、

というディレクトリに全ユーザーの設定が入っています。
rootユーザーで

などとするだけで全ユーザーのバックアップも簡単にできますね。

【Linux】”crontab -r”でいきなり削除されないようにする

cronの設定を編集するのは

ですが、
同じコマンドで

とやると、確認もなくいきなりcronの設定が削除されます。
eとrのキーは隣同士ですので、バックアップを取っていない状態で
うっかり削除してしまったら大変ですよね。

そこで、-rオプションが指定された場合に
毎回確認メッセージがでるようにします。
確認メッセージを出すには -i オプションをつける必要があるのですが、
-i オプションが強制的につくように.bashrcに設定しましょう。

~/.bashrc

これで、

と打った時に

というメッセージが表示され、
yと打たなければ実行されなくなります。
crontab -e には影響ありません。

もちろん、yを押すと削除されますので
万全を期するためにcronの内容は
定期的にバックアップをとるようにしましょう。

【MySQL】CentOS6のMySQL5.1をMySQL5.6にバージョンアップ

バージョンアップによってデータベースが消えることはないですが、
念のため全データベースをダンプしておきましょう。

現在のMySQLを削除

リポジトリ追加

インストール

起動するのを忘れずに。

【phpMyAdmin】バージョンアップしたら「Unknown system variable ‘lc_messages’」というエラーが出る

先日ステージング環境をPHP7にして、システムの動作は確認したのですが、
phpMyAdminを確認していなかったことに気づき、phpMyAdminにアクセスしました。

ん?

PHP7にするために古いPHPとモジュール群を一気に削除したとき、
phpMyAdminも削除してしまっていたのでした。

というかPHP7にしたので、おそらく古いphpMyAdminは対応していない可能性が高いので
phpMyAdminもPHP7に対応するバージョンをインストールすることにします。

PHP7.1用のリポジトリは先日

PHP5.3をいきなりPHP7.1にする

でインストール済みなので、

を実行するだけです。

さあ、さっそくphpMyAdminを確認すると、
ログイン後になんだか大量のエラーが!
上にスクロールして一番上のエラーを見ると

というメッセージが出ています。

今インストールしているMySQLには
lc_messagesという環境変数が見つからない、
つまりMySQLもバージョンアップしろってことですね。

こういう状況は昔からさんざん直面してきたので
なんとなく「こんなエラーが出たらこうしてみる」というパターンが
身についてきました。

現在のMySQLのバージョンは5.1でした。
MySQL5.6にバージョンアップします。

データベースが消えることはないですが、
念のため全データベースをダンプしておきましょう。

現在のMySQLを削除

リポジトリ追加

インストール

あらためてphpMyAdminにアクセスしてみると、、
エラーがなくなりました。

【Linux】手動でNTPサーバーにアクセスして時刻を合わせる

NTPサーバーが起動中なのに時間がずれている場合、
その原因はともかく、まずは手動で時刻を合わせます。

dateコマンドで日時を直接してもよいですが、

せっかくNTPサーバーを動かしているので
手動で外部のNTPサーバーにアクセスして時刻を合わせてみます。

上記の例はさくらインターネットのNTPサーバーです。

ちなみに、NTPサーバーが起動中なのに時間がずれていた原因ですが、
あるシステムで使用しているデータベースサーバーなのですが
セキュリティのためあえて外部と接続できないようにしていました。
にも関わらず外部のNTPサーバーを見に行く設定になっていました。

なので、そのサーバーが唯一、ローカルネットワークで接続している、
そのシステムのウェブサーバーの時刻を参照するようにしました。

手動設定

NTPの設定
/etc/ntp.conf