便利なサーバーコマンド

アプリケーションのバックエンドの一般的な管理で使う、Easy Redmine サーバー管理のコマンドのリストです。すべての Linux ディストリビューションの完全で詳細なガイドを提供することはできませんが、これらが妥当な範囲のガイドを提供していると思います。

あなたの環境や設定での経験からのフィードバックを歓迎します。管理者仲間のための TIPS がある場合は、弊社のサポートにお知らせください。確認(あなたの合意も)後、ここに掲載することができます。

状況 コマンド 結果 備考
アプリケーションが起動しない
  • sudo service unicorn restart
  • sudo service apache2 restart
  • sudo service nginx restart
  • sudo service easy restart
  • systemctl restart puma@APPLICATION_NAME.service
  • unicorn(appサーバー)の再起動
  • apache(Webサーバー)の再起動
  • nginx (Webサーバー)の再起動
  • 古いVM
  • より新しいVM(2019/03から)
通常、使用しているサーバーに依存
マイグレーションが抜けている(内部エラーとなる可能性) bundle exec rake db:migrate redmine:plugins:migrate RAILS_ENV=production RedmineとRedmineプラグインをマイグレート ディレクトリ /plugins 内にあるプラグインに関係
マイグレーションが抜けている(内部エラーとなる可能性) bundle exec rake easyproject:install RAILS_ENV=production Easy Redmineをインストール DBマイグレーション後に実行、または手動でインストールしている場合はインストールをアップデート(サーバーを再起動)
Easy Redmineのプラグインをアンインストールしたい bundle exec rake easyproject:uninstall:all_plugins RAILS_ENV=production Easy Redmineのプラグインをアンインストール(プロンプト付) 次のディレクトリ内のプラグインに対して: /plugins/easyproject/easy_plugins 詳細は こちら
Redmine プラグインをアンインストールしたい bundle exec rake redmine:plugins:migrate NAME=easy_gantt VERSION=0 プラグインをアンインストール 次のディレクトリ内のプラグインに対して: /plugins
依存関係の問題 bundle update gemsを更新  
物理サーバーの再起動 reboot 物理サーバーを再起動  
データベースに接続できない systemctl restart mysql / systemctl restart postgresql データベースサーバーを再起動  
動作ログの監視 tail -f  [redmine root]/log/production.log アプリケーションログのリアルタイム監視 内部エラーやその他の動作不良を追跡したいときに便利
Railsコンソール

rails c
または
rails c -e production
または
RAILS_ENV=production rails c

Railsコンソールを起動 Rubyコマンドに対して、アプリケーションが起動しているかチェック
サーバー上の権限不足(一般) sudo chown -R [linux user]:[linux group] [redmine root] 正しいグループと所有者を設定 Easy Redmineの正しいユーザーとフォルダーを追加する必要がある
サーバー上の権限不足(弊社提供のVM) chown easy:easy -R $(eval echo "~easy") 正しいグループと所有者を設定 Easy Softwareが作成したVM内
サーバー上の権限不足 sudo chmod -R 775 [redmine‘s root] 正しい権限を追加 他のレベルは こちら
バルク更新(Rails例)

rails c production
ActiveRecord::Base.connection.execute(“update issues set estimated_hours=5 where estimated_hours >= 5“)
exit

カスタムSQLクエリを実行(Railsコンソール) 自身のリスクで!カスタムクエリを使う場合は注意してください。アプリケーションのGUIで禁止されている、または互換性がない変更を行っている可能性があります。アプリケーションの動作不良という悲惨な結果を招くことがあります。
バルク更新(MySQL例)

mysql -u user -p password -h host
mysql
show databases;
use databasename;
update issues set estimated_hours=5 where estimated_hours >= 5;

  • カスタムSQLクエリを実行(MySQLコンソール)
  • 既存のデータベースのリスト
  • 自身のリスクで! 前項の注意を参照
  • Easy SoftwareのVMでは、クレデンシャルは不要
バックアップでの作業
  • mysqldump -u user -ppassword -h host databasename > mydump.sql
  • bundle exec rake db:drop db:create RAILS_ENV=production
  • mysql -u user -ppassword -h host databasename < mydump.sql
  • DBダンプ
  • データベースを再作成
  • DBインポート
MySQLに対して
プロジェクトツリーが壊れた rails c production
Project.rebuild_tree!
exit
プロジェクトツリーの再計算 – 正しい親とサブプロジェクト
  • DBマイグレーション後に起きる可能性がある。リスト内のプロイジェクト構造(URL: /projects)がパンくずに対応しない(サブプロジェクトにアクセスするとき)
  • 詳しいマニュアルは こちら
他のエンティティのツリー計算(例) Issue.rebuild_tree!; IssueCategory.rebuild_tree!; EasyKnowledgeCategory.rebuild_tree! 他のエンティティのツリーを再計算  
設定ファイル・DB(一般) cat [redmine root]/config/database.yml DB設定  
設定ファイル・電子メール(一般) cat [redmine root]/config/configuration.yml 電子メール設定  
CRONを確認/編集 (自動サーバータスク) crontab -e crontabを編集 詳細は こちら
リソース管理のデータが欠落 bundle exec rake easy_gantt_resources:reallocate_resources RAILS_ENV=production 時間割当を再計算 DBマイグレーション、リソース管理のインストール後に必要なことがある
情報 top 処理リスト、システム情報  
ディスクスペースの消耗 df デバイスの空き容量を表示  
Easy DMS キャッシュが古い ruby [redmine root]/plugins/redmine_dmsf/extra/xapian_indexer.rb  redmine_dmsfユーザーのみ。cronによって実行する必要がある
テキスト編集をテキストからHTMLに変更した bundle exec rake easyproject:textile:migrate_all RAILS_ENV=production テキストはテキストからHTMLフォーマットに変換される  
管理画面で新しい通貨を有効にしたが、プロジェクトに表示されない bundle exec rake easyproject:currency_update_tables RAILS_ENV=production

サーバーの再起動
、システムでその通貨が有効になる

 
通貨を有効にした後、既存のすべての入力を再計算する必要がある bundle exec rake easyproject:currency_recalculate_all RAILS_ENV=production 既存のエントリが新しい通貨に再計算される  
人件費の手動再計算 bundle exec rake easyproject:easy_money:recalculate_time_entry_expenses_on_project RAILS_ENV=production 現在のレートと単価に従って人件費を再計算 送信すると、プロジェクトIDを入力するように求められる。IDを指定しない場合、すべてのプロジェクトが再計算される。すべてのプロジェクトの再計算は時間がかかることがあり、すべてのユーザーの動作が遅くなる可能性がある
SQLiteから MySQLへの変換

Download the tool sqlite3-to-mysql.py
sqlite3 SQLITE3_DUMP_FILE.sqlite3 .dump | python sqlite3-to-mysql.py | mysql -u root -p sqlite3_convert

  完全な手順書は こちら

重要:これらのコマンドは、十分な技術を持つサーバー管理者が使うべきです。各操作の予期しないリスクや影響を理解できる必要があります。コマンドの不正な使用によりシステム障害が発生した場合は、サーバー管理者の責任です。この場合、Easy Software社は限られたサポートしか提供できない可能性があります。(提供できることが分かった場合)サーバーサポート依頼は、実際に使用した時間単価により課金されます。

Easy Redmineの30日間無料トライアルをお試しください

ローカルのリージョンサーバーで、フル機能、SSL保護、日時バックアップ