ChangeLog の md5 をチェックし、変わっていなかったら exit するようにした。
2003-05-26 に書いた、/home/hiroaki/backup/changelog が変化のない同じファイルで溢れるという事態もこれで解決するだろう。
2003-05-26 に書いた、/home/hiroaki/backup/changelog が変化のない同じファイルで溢れるという事態もこれで解決するだろう。
# compare previous log with current log
LOG_HASH=`/usr/bin/md5sum $LOG_PATH |perl -na -e 'print @F[0]'`
PREVIOUS_LOG_HASH=`/usr/bin/md5sum $PREVIOUS_LOG_PATH |perl -na -e 'print @F[0]'`
if [ $LOG_HASH == $PREVIOUS_LOG_HASH ]; then
exit 1
fi
- sonic で動かしている seti が、いつの間にか CPU 時間100000分を超えたようだ。
以前は分単位だった実行時間表示が、時間単位になっていた。99999時間を超えると、日単位になるのだろうか?
99999日を超えると、月単位になるのだろうか?
99999月を超えると、(以下略)。
ソースを見ればどう表示されるのかなんて丸わかりだが、それじゃあ野暮だ。
$ date
Fri Jun 6 14:16:43 JST 2003
$ top
2:16pm up 83 days, 19:37, 1 user, load average: 1.00, 1.00, 1.00
34 processes: 32 sleeping, 2 running, 0 zombie, 0 stopped
CPU states: 0.8% user, 6.0% system, 93.0% nice, 0.0% idle
Mem: 65128K av, 61080K used, 4048K free, 0K shrd, 10604K buff
Swap: 257032K av, 1644K used, 255388K free 17960K cached
PID USER PRI NI PAGEIN SIZE SWAP RSS SHARE LC STAT %CPU %MEM TIME COMMAND
7747 hiroaki 20 19 115933 15816 40 15M 404 0 R N 86.0 24.2 1677h setiathome
$ ps -auxww |grep seti
hiroaki 7747 95.5 24.2 17388 15776 ? RN Mar25 100513:53 /home/hiroaki/dist/setiathome-3.03.i386-pc-linux-gnu-gnulibc2.1/setiathome -proxy 172.16.4.1:17241
* UPSERT / MERGE するトリガ MS SQL Server 2000版
この記事の直リンクURL: Permlink | この記事が属するカテゴリ: [SQL] [MS SQL Server]
2003-06-03 のトリガは、もっと簡潔に書けることに気づいた。環境は MS SQL Server 2000。
- 冗長版
GO
DROP TRIGGER log_transaction_ao;
GO
CREATE TRIGGER log_transaction_ao ON users FOR INSERT, UPDATE AS
BEGIN
INSERT INTO users_log SELECT * FROM inserted
IF (SELECT COUNT(*) FROM inserted WHERE commit_master = 1) > 0 BEGIN
DECLARE @user_cd VARCHAR(5)
SELECT @user_cd = user_cd FROM deleted
IF (@user_cd IS NOT NULL) BEGIN
DELETE FROM user_master WHERE user_cd = @user_cd
END
INSERT INTO user_master SELECT * FROM inserted
END
END
- 簡潔版
GO
DROP TRIGGER log_transaction_users;
GO
CREATE TRIGGER log_transaction_users ON ao FOR INSERT, UPDATE AS
BEGIN
INSERT INTO user_log SELECT * FROM inserted
IF (SELECT COUNT(*) FROM inserted WHERE commit_master = 1) > 0 BEGIN
DELETE FROM user_master WHERE user_cd IN (SELECT user_cd FROM deleted)
INSERT INTO user_master SELECT * FROM inserted
END
END
以上の内容はhttp://sonic64.com//2003-06-06.htmlより取得しました。
このページはhttp://font.textar.tv/のウェブフォントを使用してます
モバイルやる夫Viewer Ver0.14