CRON って cron.hourly とかを run-parts で実行するけれど、なんだか実行されている気配のないスクリプトがあって悩んだ。

結局ファイル名が悪かったみたいだ。log.sh という名前にしていたのだけれど、これだとだめらしい。httplog に改名したらちゃんと run-parts --list でリストされるようになった。


man 見てもどうもわからなくてわかるまで時間がかかった。結局最後は試行錯誤っていう。

  1. トップ
  2. server
  3. CRON の run-parts でハマる
  1. トップ
  2. linux
  3. CRON の run-parts でハマる

「気をつけていること」って書いたけど、実際にはほとんど無意識ぐらいで「こうしたほうがいいな」って思いながらやっているのを書き出しただけで、あの規則ありきで書いているわけじゃないのです。

結果的にああなったぐらいのもので、わりとどうでもいいものです。書き出したのは、書き出すことで、本当にそれでいいのかっていうのを明確にしたり、曖昧なところを「曖昧なところ」として認識するためで、守るために書いたわけじゃないです。

例えばあれだと一つのファイルのまとめて書くことを前提にしてるから、ファイルを分けたときどうするかっていうのは全然わかってない。普通に考えたら、ある ID セレクタ以下を一括して分離するだろうけど、実際そうやって書いたことはないからなんともいえない。手探りいんぐ。

  1. トップ
  2. css
  3. 気をつけていること

Emacs の設定に嫌気がさしたので (ネガティブドリブン) 、vim に乗り換えるよ!

ubuntu 6.06 LTS の vim は VIM - Vi IMproved 6.4。css.vim のロードがいつも失敗する。

とりあえず覚えた (覚えてた) コマンド列挙

  • :w
  • :q, q!
  • i
  • v
  • V
  • C-v
  • u
  • C-r
  • y
  • p
  • P
  • dd
  • gg
  • G
  • /{search-string}
  • s/{s}/{r}/gc
  • ==
  • ^
  • $
  • o
  • !!cmd
  • gg=G

現時点での .vimrc

syntax on
colorscheme desert256
highlight ZenkakuSpace ctermbg=6
match ZenkakuSpace /\s\+$\| /
set listchars=tab:>.
set list
" バックアップとか自分でしろ
set nobackup
" 誰かが編集したら読み直して
set autoread
" 袖あまりは良いものだ
set scrolloff=10
" 行番号の表示
set number
" デフォルトインデント設定
set autoindent smartindent
" よさげなタブ
set smarttab
set softtabstop=4 tabstop=4 shiftwidth=4
" BS の挙動
set backspace=indent,eol,start
" よしなにしてくれ
set ignorecase smartcase
" インクメンタル
set incsearch
" 最初にもどれ
set wrapscan
" 対応する括弧の表示
set showmatch
" 入力中のコマンドを表示
set showcmd
" 行頭・行末間移動を可能に
set whichwrap=b,s,h,l,<,>,[,]
" 補完候補を表示する
set wildmenu
set laststatus=2
set statusline=%<%f\ %m%r%h%w%{'['.(&fenc!=''?&fenc:&enc).']['.&ff.']['.&ft.']'}%=%l,%c%V%8P
set termencoding=utf8
set encoding=japan
set hidden
filetype plugin on
filetype indent on
noremap # :call ToggleCommentSelection()<CR>
" http://peace-pipe.blogspot.com/2006/05/vimrc-vim.html
" current syntax
command! -nargs=0 GetHighlightingGroup echo 'hi<' . synIDattr(synID(line('.'),col('.'),1),'name') . '> trans<' . synIDattr(synID(line('.'),col('.'),0),'name') . '> lo<' . synIDattr(synIDtrans(synID(line('.'),col('.'),1)),'name') . '>'
augroup MyAutocmd
au!
au BufNewFile,BufReadPost  vim   let b:commentSymbol='\"'
au BufNewFile,BufReadPost  *.c,*.h,*.cpp,*.d,*.java,*.js   let b:commentSymbol='//'
au BufWritePost * if getline(1) =~ "^#!" | exe "silent !chmod +x %" | endif
augroup END
" 現在行をコメントトグル
" 選択中はその範囲を
function! ToggleCommentSelection() range
if exists('b:commentSymbol')
let cs = b:commentSymbol
else
let cs = "#"
endif
let cl = a:firstline
while (cl <= a:lastline)
let line = getline(cl)
if strpart(line, match(line, "[^ \t]"), strlen(cs)) == cs
let i = 0
while (i < strlen(cs))
normal! ^x
let i = i + 1
endwhile
else
execute "normal! I" . cs
endif
normal! j
let cl = cl + 1
endwhile
endfunction

と、同時に、.zshrc を vim の第一引数を screen の window 名にするように書き換えた。

  1. トップ
  2. vim
  3. vim に乗り換えるよ!