はじめに 個人プロダクトでDjangoを扱っていて、デフォルトのままSQLite3で作業していたのですが、そろそろMySQLに移行しようかなぁと思っていつも通り、以下のコマンドを使って操作した場合、エラーがでてよくわからないまま対処できなかったのでメモ的な $ python manage.py dumpdata --indent 4 > dump.json # Databaseの向き先を変更する $ python manage.py loaddata dump.json 環境 Django 1.10.5 mysql Ver 14.14 Distrib 5.7.17, for Linux (x86_64) Python 3.6.x SQLite3からデータをdumpする
Windows Subsystem for Linux(WSL) では cron も利用できるのだが、デフォルトでは無効になっているようだ。 ということで。上記記事を噛み砕いてかつbatを簡単にしたもの。記事通りでもvisudoをいじればできるけど簡略化。 1. Startup フォルダを開く 方法A. C:\Users\Nyanko\AppData\Roaming\Microsoft\Windows\Start Menu\Programs\Startup ユーザ名は自分のものに。 方法B. Windows キー + R同時押し後出るウィンドウ上で,shell:startup 2. bat ファイル置く 以下なファイルを上記で開いたフォルダ以下に置く。.batで。 $ wsl -u root -- service cron start 3. 確認 Windows 再起動後,wsl上のubu
この記事は、本番環境などでやらかしちゃった人 Advent Calendar 2023 の4日目です。年末進行、いかがお過ごしでしょうか?みなさま無事に仕事が納まることを願っております… 新人インフラエンジニアが、本番ウェブサーバー60台のホスト名を全部 cat にしてしまった話について、ここに供養させていただきたいと思います 背景 おそらく今から7年くらい前、インフラエンジニアとして転職してきて1年ほどが経ち、本番環境での作業もこなれてきたなというバッチリのタイミングで事を起こしてしまいました。サーバーは CentOS 6 だったと思います。 職場としてはまだまだベンチャー感にあふれ大きな裁量が与えられスピード感のある環境ながら、サービスの登録ユーザー数は1,000万を超え、本番環境の規模としては既になかなかの大きさがあり、ウェブサーバーだけでも60台くらいあったと思います。ひと山につき
はじめに 前回のディスクフルでログインできなくなった際の対処を行った後など、そもそものサイズを増やすためEBSボリュームを拡張することもあるかと思うので、拡張方法を紹介しようと思います。 【前】ディスクフルになって接続できなくなった場合の対処方法 EBSボリュームの拡張 EC2インスタンスのボリュームを拡張する場合、使用しているファイルシステムによりますが、ext4やxfsファイルシステムの場合は無停止で拡張できるようになっているため、急遽容量を追加したい場合でもすぐに対処できるのが利点です。 尚、今回はxfsのファイルシステムを使用している場合の手順となりますので、他のファイルシステムを使用している場合はファイルシステムに沿った方法を実施してください。 ボリュームサイズ変更後の Linux ファイルシステムの拡張 EBSボリュームサイズの変更 EBSボリュームの拡張を行うために、「Ela
dateコマンドを使って当月(YYYYMM)を引数としてシェル(poo.sh)に渡すという至ってシンプルなもの。 手動で動作確認をしており、なぜエラーになったのかまったくわかりません。 グーグル先生に上記のエラーメッセージを丸投げするとすぐに教えてもらえました。 インターネットがなかった時代はどうやって調べていたんでしょうね。便利な時代になったものです。 crontabで%(パーセント)を使うとエラーが起こる件 自分でもman 5 crontab で見てみました。 (抜粋) A "%" character in the command, unless escaped with a backslash (\), will be changed into newline characters, and all data after the first % will be sent to the
しばたです。 先日新しい開発機(Windows 10)が会社より支給されたのでデータ移行と環境の再セットアップをしています。 せっかくの機会ですのでOSを最新のWindows 10 May 2020 Update (2004)に更新し、Windows Subsystem for Linux (以後WSL) 環境を最新のWSL 2にしたのでその際の手順をここに記録しておきます。 手順 公式な手順はDocsにばっちり記載されています。 基本的にはこの手順を参照すれば問題ありません。 やってみた それでは早速やっていきます。 0. 前提条件 WSL 2を利用するには現在最新のWindows 10であるWindows 10 May 2020 Update (Ver.2004、ビルド19041)以降である必要があります。 古いWindows 10を利用している場合はまずアップグレードが必要となります
「シグナルハンドラの中でできることは非常に限られているんですよ」というお話を1年半くらい前に書きましたが、この話には続きがあって、ある特定の条件下ではこの制限を緩和することができます。今回はその方法についての解説です。sigwait(3)という関数を使います。 ※ この話、うっかり書き忘れていました。ちょっとしたきっかけで思い出したので、暇があるうちに書いておきます。 ■「シグナルを待つ」処理 〜従来の方法〜 皆様、「シグナルの到着を待つ」処理を、次のように書いてしまっていないでしょうか? // シグナルハンドラ void handler(int signo) { // この中で使って良いのは非同期シグナルセーフ(async-signal-safe)な関数のみ }を用意して、 sa.sa_handler = handler; sigaction(SIGHUP, &sa, NULL); ..
鉄則2: シグナルハンドラで行ってよい処理を知ろう sigaction関数で登録したシグナルハンドラで行ってよい処理は非常に限定されている 次の3つの処理だけが許されている 自動変数の操作 “volatile sig_atomic_t” 型の大域変数の操作 「非同期シグナルセーフ」関数の呼び出し これ以外の処理を記述しないこと! 説明: シグナル受信時に何らかの処理を行うためには、シグナルハンドラと呼ばれる関数を用意し、それをsigaction関数でシグナル名と紐付けておけばOKです。しかし、シグナルハンドラ内で行ってよい処理は、上記の通り非常に限定されています。これを把握しないまま奔放なコードを書くと次のような現象が起き得ます: 問題1: プログラムがデッドロックする危険がある タイミングに依存する、再現困難なバグの原因となる デッドロックの発生が典型例だが、それ以外にも関数の戻り値不正
LinuxやMac OS XなどのUNIX系OSで標準的なシェルとして使われている「bash」に重大な脆弱性が見つかった問題で、9月24日に公開されたパッチは不完全だったことが分かった。攻撃の発生も確認され、影響の大きさは4月に発覚したOpenSSLの脆弱性(Heartbleed)に匹敵すると指摘されている。 米セキュリティ機関US-CERTが9月25日に出したアラートによると、脆弱性はGNU Bash 1.14~4.3に存在し、CentOS、Debian、Mac OS X、Red Hat Enterprise Linux、Ubuntuなどが影響を受ける。24日に脆弱性(識別番号CVE-2014-6271)を修正するパッチが公開され、主要Linuxディストリビューションも更新版を公開した。ところがこのパッチでは、別の脆弱性(CVE-2014-7169)が解決されていないことが判明した。 R
Browse by time: December 2018 (1) December 2016 (1) December 2015 (1) January 2015 (1) September 2014 (2) July 2014 (2) April 2014 (1) February 2014 (1) January 2014 (3) December 2013 (2) September 2013 (3) June 2013 (1) May 2013 (1) April 2013 (1) March 2013 (2) February 2013 (5) やっと更新する気になった。 もくじ 0. 産業で説明 1. 理論編 2. 攻撃編 3. パッチ 4. 結論 0. 産業で説明 bashが アホで 地球がヤバイ 1. 理論編 bashの関数機能は、環境変数の中でも使える仕様になっています
他のサーバにrsyncしたいときがあります。その場合考えなければならないのが認証です。よく見られるのは送信先のSSH公開鍵を送信元に登録することで認証をスルーする方法です。しかしrsyncの場合、そんなことをせずともパスワードなしでrsyncできるということを最近知りましたので記録を残しておきます。 【送信先での設定】 まずはパスワードなしでrsyncするために、送信先サーバに下記の要領で/etc/rsyncd.confに追記します。rsyncdの再起動は不要です。 [USERDATA] comment=user data path=/home/user read only=false uid=user gid=user hosts allow=送信元サーバのIPやFQDN hosts deny=* 【送信元でのrsync実行】 続いて送信元でのrsync実行となります。下記の要領でrsy
rootのパスなんて覚えてないし、めんどくさいからほっといた。 (そもそも Ubuntu は root のパスはユーザーには知らされないとのこと) 次の日。 apache の virtualhost 作りたいから、デフォルトのファイルをコピーしようとした cp /etc/apache2/sites-available/default /etc/apache2/sites-available/hoge cp: 通常のファイル `/etc/apache2/sites-available/hoge' を作成できません: 許可がありませんあー sudo 忘れてた。 sudo cp /etc/apache2/sites-available/default /etc/apache2/sites-available/hoge オレ is not in the sudoers file. This inc
概要 共有ライブラリをシステムに認識させるには、そのディレクトリを共有ライブラリ検索パスに追加する必要があります。/libディレクトリと/usr/libディレクトリはデフォルトで含まれていますが、FedoraやCentOSでは/usr/local/libディレクトリが含まれていないため、手動で追加する必要があります。 構成 CentOS release 5.7 (Final) 環境変数 LD_LIBRARY_PATHに指定する 環境変数 LD_LIBRARY_PATHを使うと、そのディレクトリを一時的に共有ライブラリ検索パスに追加することができます。ただし再起動すると元に戻ってしまうため、永続的に追加したい場合は/etc/ld.so.confに記述します。 LD_LIBRARY_PATHに指定されたディレクトリは/etc/ld.so.confに記述されたディレクトリよりも優先的に検索されま
復習がてらまとめてみた。今さら感たっぷりでたぶん100番煎じぐらいだけど。きっかけは単語単位でカーソルを移動させる(M-f,M-b)方法が知りたかっただけなんだけど。せっかくなのでどこで、どういう風にキーバインドが割り当てられているかを調べた。 versionはdebian4のbash 3.1.17。 readlineとbind(組み込みコマンド) man bashのreadlineとbindの項目参照。readlineはシェルの入力を処理するライブラリ。bashは組み込みのコマンドでreadlineの割り当て設定確認/設定変更が出来る。 端末ラインのキーバインド さて、さっそくbashのキーバインド…の前に、シェルとは別の端末のキーバインドもまとめておく。bashとは直接関係ないけど、端末をCLIの操作をキーバインドで行うという意味では、ほぼ同じなので。 有名なのはプロセスを割り込むC-
例えばRed Hat Enterprise Linux Extended Life Cycle Supportで絶賛延命中なRHEL4サーバのテスト環境構築など、やむ得ぬ事情で古いCentOSを使う必要があったりますよね。ね。 しかしサポートが終了した古いバージョンのCentOSはミラーから取り除かれてしまうため、yum updateを実行しても以下のようなメッセージが表示されてアップデートできません。 # yum update Setting up Update Process Setting up repositories not using ftp, http[s], or file for repos, skipping - 4 is not a valid release or hasnt been released yet Cannot find a valid baseurl
リリース、障害情報などのサービスのお知らせ
最新の人気エントリーの配信
処理を実行中です
j次のブックマーク
k前のブックマーク
lあとで読む
eコメント一覧を開く
oページを開く