自分用メモ
# 文字列からlocaltimeの生成 my $date = localtime->strptime( '2015-09-10 12:00:00', '%Y-%m-%d %H:%M:%S' ); # localtimeから文字列の整形 print sprintf("%d月%d日", $date->mon, $date->mday);
自分用メモ
# 文字列からlocaltimeの生成 my $date = localtime->strptime( '2015-09-10 12:00:00', '%Y-%m-%d %H:%M:%S' ); # localtimeから文字列の整形 print sprintf("%d月%d日", $date->mon, $date->mday);
lsyncdをインストールした時のメモです。
通常はrsyncモードで動かすと思いますが、今回の要件では
ローカルでのディレクトリ同期だったので、directモードにしました。
$ yum list installed | egrep "libxml2-devel|lua-devel|lua-static" //入っているかどうかの確認 $ sudo yum -y install libxml2-devel lua-devel lua-static
lsyncdはrpmforgeのリポジトリにあります。 リポジトリ追加を行っていない場合は、別途リポジトリの追加が必要です。
$ sudo yum install -y lsyncd
version 2.1がインストールされました。
pidfileを吐くように設定します。
$ sudo cp -ap /etc/sysconfig/lsyncd /etc/sysconfig/lsyncd_20150815 $ sudo vi /etc/sysconfig/lsyncd $ diff -u /etc/sysconfig/lsyncd_20150815 /etc/sysconfig/lsyncd --- /etc/sysconfig/lsyncd_20150815 2015-08-15 19:16:19.671691805 +0900 +++ /etc/sysconfig/lsyncd 2015-08-15 19:16:51.536611294 +0900 @@ -1,3 +1,3 @@ # Put your lsyncd options here -#OPTIONS="-pidfile /var/run/lsyncd.pid /etc/lsyncd.conf" +OPTIONS="-pidfile /var/run/lsyncd.pid /etc/lsyncd.conf"
リンク先を参考に起動ファイルの修正を行います。
$ sudo cp -ap /etc/init.d/lsyncd /etc/init.d/lsyncd_20150815 $ sudo vi /etc/init.d/lsyncd $ diff -u /etc/init.d/lsyncd_20150815 /etc/init.d/lsyncd --- /etc/init.d/lsyncd_20150815 2013-03-20 20:54:23.000000000 +0900 +++ /etc/init.d/lsyncd 2015-08-15 19:20:06.129853473 +0900 @@ -20,7 +20,7 @@ OPTIONS="-pidfile /var/run/lsyncd.pid /etc/lsyncd.conf" if [ -e /etc/sysconfig/lsyncd ]; then - /etc/sysconfig/lsyncd + source /etc/sysconfig/lsyncd fi
$ cd ~ $ mkdir {src,target} $ ll 合計 8 drwxrwxr-x 2 vagrant vagrant 4096 8月 15 18:58 2015 src drwxrwxr-x 2 vagrant vagrant 4096 8月 15 18:58 2015 target
$ sudo vi /etc/lsyncd.conf
設定ファイルを作成します。
インストールしただけではできないので新規です。
下記はversion2.1での書き方です。
version 2.0ではsettings {
の部分をsettings = {
として、=
でつなげてあげる必要があります。
settings { logfile = "/var/log/lsyncd.log", statusFile = "/tmp/lsyncd.stat", nodaemon = false, } sync{ default.direct, source="/home/vagrant/src/", target="/home/vagrant/target/" }
$ sudo /etc/init.d/lsyncd start lsyncd を起動中: [ OK ]
$ ll 合計 8 drwxrwxr-x 2 vagrant vagrant 4096 8月 15 19:24 2015 src drwxrwxr-x 2 vagrant vagrant 4096 8月 15 19:24 2015 target $ ll -a src/ 合計 8 drwxrwxr-x 2 vagrant vagrant 4096 8月 15 19:24 2015 . drwx------. 5 vagrant vagrant 4096 8月 15 19:24 2015 .. $ ll -a target/ 合計 8 drwxrwxr-x 2 vagrant vagrant 4096 8月 15 19:24 2015 . drwx------. 5 vagrant vagrant 4096 8月 15 19:24 2015 .. $ touch src/test.txt $ ll -a target 合計 8 drwxrwxr-x 2 vagrant vagrant 4096 8月 15 19:26 2015 . drwx------. 5 vagrant vagrant 4096 8月 15 19:24 2015 .. -rw-r--r-- 1 root root 0 8月 15 19:26 2015 test.txt $ echo "hello world" > src/test.txt $ cat target/test.txt hello world
自分用メモ
リポジトリの追加を毎回調べているので、
URLとともに追加方法と、使い方をメモ。
下記URLから最新のものを探す
cd /usr/local/src wget http://pkgs.repoforge.org/rpmforge-release/rpmforge-release-0.5.3-1.el6.rf.x86_64.rpm rpm -Uvh rpmforge-release-0.5.3-1.el6.rf.x86_64.rpm
rpmオプション
#
で表示rpm に引き渡すものはURL直指定でも可
この辺は、プロジェクトによっても違うと思います。
ここではデフォルトでは無効にしておいて、
対象パッケージをインストールする際に指定する方法を記述します。
リポジトリを追加すると、/etc/yum.repos.d
にリポジトリのファイルができます。
epel
とrpmforge
の場合はこんなファイルができます。
epel.repo
とrpmforge.repo
については、デフォルトで有効になっているので無効にします。
vi /etc/yum.repos.d/epel.repo
ファイルを開くと下記のようになっているので、enabled=1のところを0にして保存します。
[epel] name=Extra Packages for Enterprise Linux 5 - $basearch #baseurl=http://download.fedoraproject.org/pub/epel/5/$basearch mirrorlist=http://mirrors.fedoraproject.org/mirrorlist?repo=epel-5&arch=$basearch failovermethod=priority enabled=1 gpgcheck=1 gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-EPEL [epel-debuginfo] ...以下略
enablerepoに使いたいリポジトリを指定して実行します
sudo yum install package-name --enablerepo=epel
自分用メモ
毎回調べているのでスニペットとして残す
my($start_time) = (times())[0]; # # do something # my($end_time) = (times())[0]; my $execute_time=$end_time - $start_time; print "[$execute_time]s";
自分用メモ
Cliborというpythonでマクロが実行できる
Windows用のクリップボードユーティリティソフトがあります。
そのマクロを使えるようになるまでの設定方法です。
作者のサイトはpython2系の紹介をしています。
ここでは、Window7 64bitで、python3系を使う方法を記載します。
Chocolatey自体のインストールはこちら
管理者権限でコマンドプロンプトを開き、下記を実行します。
$cinst python
インストールが終わると、C:\tools\python
にexeができます。
インストールされるpythonのバージョンは3系です。
pywin32もChocolateyでインストールしたかったのですが、
パッケージが古いようで、インストールされるのはpyhon2.7系のものでした。
なので、こちらは別途インストールします。
ダウンロード先はこちら
最新のビルド番号のものを取ってきます。
2015年8月現在では、219が最新でした。
今回は、Windows7 64Bit環境で動かすので、pywin32-219.win-amd64-py3.4.exe
をダウンロードしました。
ダウンロードしてきたexeを実行すると、C:\tools\python\Lib\site-packages
にインストールされます。
あとは、基本的にサイトに記載されている通りに設定します。
clb_ex.bat
は、下記のようにしました。
c: cd C:\tools\python SET PYTHONHOME=C:\tools\python
これで、マクロ自体は動くようになると思います。
Redmineのver2.5で発生しました。
やりたかった構成は下記です。
最初、下記の状態でした。
101
をコピーして、102
を作成し
下記の状態にしました。
この状態で、102
のチケットの親チケットを1
に設定しようとすると
親チケット は不正な値です。
というエラーメッセージが表示されました。
102
に設定されている関連するチケット
を削除すると、
親チケットを編集できるようになりました。
削除した関連チケットはコピー元である101
です。
自分用メモ
use Time::Piece::MySQL; my $now = localtime->mysql_timestamp; if($now >= 20150804000000 ){ #do something... }