More Related Content
PDF
omoon.org の裏側 〜FuelPHP の task 活用例〜 PDF
FuelPHPで3種のprofilerを使ってみた PDF
15分でCakePHPを始める方法(Nseg 2013-11-09 ) KEY
PDF
KEY
Mojoliciousをウェブ制作現場で使ってみてる PDF
KEY
What's hot
PDF
PDF
2日間Fabricを触った俺が
色々解説してみる PDF
オンプレでPrivate Registry使ったDockerイメージの運用について PDF
PDF
PPTX
serverspecを使用したサーバ設定テストの実例 PDF
awk v.s. bashどっちが強い?@OSC2011Tokyo PPT
PDF
PDF
PDF
Rails初心者レッスン lesson5 2edition PDF
KEY
PPTX
PPT
Lightweight Language Tiger 2010 PDF
PDF
Grails-1.1を斬る!~Grails-1.1からのチーム開発~ in Tokyo PDF
Yapc -asia 2012 lt @studio3104 PDF
CakeRequest::onlyAllow() について Viewers also liked
ODP
名古屋アジャイル勉強会トヨタ生産方式に学ぶカイゼン PPT
PDF
Software Foundation:形式的証明と非形式的証明 PDF
理系女子の恋愛と結婚 「東大で理系の恋愛を語ろう」 PDF
『スクラムを活用したアジャイルなプロダクト管理』第1回読書会 振り返り結果 POStudy ~プロダクトオーナーシップ勉強会~ PPTX
TO LOVE IN'~人生のパートナーを見つける旅~ KEY
PDF
PPT
PDF
KEY
PPT
PPTX
IGDA_Sig-BoardGame_ワークショップ用資料 PPTX
20161026_超高層大気観測データのメタデータ作成実験経過報告 PPT
マインドハック研究会 ライフハック編 20100512 PDF
PPT
PDF
PDF
PDF
Similar to 実用裏方 Perl 入門
PDF
PPTX
Powershell勉強会 v4 (もっと新しいバージョンがあります。) PPTX
Powershell勉強会 v5 (こちらが最新です。) PPTX
PPTX
Powershell 超絶基礎 勉強会 v1 (もっと新しいバージョンがあります) PPTX
Powershell勉強会 v3 (もっと新しいバージョンがあります) PDF
PPTX
Powershell勉強会 v2 (もっと新しいバージョンがあります) PDF
Fluentdでログを集めてGlusterFSに保存してMapReduceで集計 PPTX
KEY
PDF
ホームディレクトリに埋もれた便利なコードをさがせ! PDF
2017-12-04 Linuxの基本構造とBashでの扱い方 PPT
CPANの依存モジュールをもう少し正しく検出したい PDF
PDF
PDF
PDF
ゲットーの斜め上をゆくWebアプリケーションフレームワークの開発 PPTX
PDF
More from keroyonn
PPTX
PPTX
PPTX
Perl Hobby Programming - Games::BeLike::EightBIT ターミナルで8ビット風ゲームをつくろう PPTX
非同期処理の通知処理 with Tatsumaki PDF
YAPC::Hokkaido 2016 「普段使い言語環境」更新によるスキルリセットサバイバルガイド PPTX
Recently uploaded
PDF
第21回 Gen AI 勉強会「NotebookLMで60ページ超の スライドを作成してみた」 PDF
2025→2026宙畑ゆく年くる年レポート_100社を超える企業アンケート総まとめ!!_企業まとめ_1229_3版 PDF
自転車ユーザ参加型路面画像センシングによる点字ブロック検出における性能向上方法の模索 (20260123 SeMI研) PDF
PMBOK 7th Edition Project Management Process Scrum PDF
ST2024_PM1_2_Case_study_of_local_newspaper_company.pdf PDF
Starlink Direct-to-Cell (D2C) 技術の概要と将来の展望 PDF
PMBOK 7th Edition_Project Management Context Diagram PDF
Team Topology Adaptive Organizational Design for Rapid Delivery of Valuable S... PDF
100年後の知財業界-生成AIスライドアドリブプレゼン イーパテントYouTube配信 PDF
FY2025 IT Strategist Afternoon I Question-1 Balanced Scorecard PDF
Reiwa 7 IT Strategist Afternoon I Question-1 3C Analysis PDF
PMBOK 7th Edition_Project Management Process_WF Type Development PDF
Reiwa 7 IT Strategist Afternoon I Question-1 Ansoff's Growth Vector 実用裏方 Perl 入門
- 1.
- 2.
- 3.
- 4.
- 5.
- 6.
- 7.
- 8.
- 9.
- 10.
- 11.
- 12.
要件毎週日曜日、特定のフォルダ以下のファイルを削除する ( cron+ find でOK)ファイル名の拡張子は、*.bak (cron + find でOK)ただし、消していいのは過去3時間以内に更新されていないファイルのみ (なんか find じゃだめっぽい)削除できたファイルを標準出力に、できなかったファイルを標準エラーに出力 (シェルスクリプトかな?)UNIXコマンドライクにオプション指定ができ、ヘルプも出てくる (なんかどんどん面倒になってきた)色々要件が膨らみそうな予感。(汎用的な言語で書いといた方がいいかな?)Hokkaido.pm #4 - 13.
- 14.
ソースコード (1/3)端折り過ぎなのでそのまま使うと危険!!#!/usr/bin/perluse warnings;usestrict;use utf8;use Getopt::Long;use Pod::Usage;use File::Find;use File::stat;BEGIN { binmode STDOUT, ':utf8‘; }# コマンドオプションの解析my $modified_time = 6;GetOptions( 'mtime=i' => \$modified_time, ) or pod2usage(2);my $base_dir = shift @ARGV;if ( !defined $base_dir ) { print "削除対象のディレクトリ名を指定してください。\n"; pod2usage(2);}# 全bakファイルを取得して削除find( \&delete_files, $base_dir );Hokkaido.pm #4 - 15.
ソースコード (2/3)sub delete_files{ my $fullpath = $File::Find::name; my $filename = $_; # bak以外ならスキップreturn if $filename !~ m{\.bak$}xms; # n 時間以内に更新されたファイルを除外my $stat = stat($fullpath); my $mtime = $stat->mtime; return if $mtime + $modified_time * 3600 > time; # 削除my $ret = unlink $fullpath; if ( $ret < 1 ) { print STDERR "$fullpathを削除できませんでした。\n"; return; } print "$fullpathを削除しました。\n";}Hokkaido.pm #4 - 16.
ソースコード (3/3)__END__=encoding utf-8=head1NAMEdelete_backup_files - 過去n時間以内に更新されなかったバックアップファイルを除外する=head1 SYNOPSISdelete_backup_files [options] directory_name Options: --mtime=n 過去n時間以内に更新されなかったバックアップファイルを除外する。デフォルト 6 時間Hokkaido.pm #4 - 17.
- 18.
ジョブを登録するcrontab –e分 時日 月 曜日** * * *コマンドのフルパス30 3 * * 0 /home/hogehoge/delete_backup_files例. 毎月1日の3時30分にコマンドを実行3031 * * コマンド毎週日曜日に毎分コマンドを実行* * * * 0 コマンドとにかく毎分実行する* * * * * コマンドHokkaido.pm #4 - 19.
まとめPerl は Linuxに標準インストールなので、標準モジュールだけ使って作ればシェルスクリプトと同じ感覚で配布できる。なのでコマンドは、Perl で作った方が楽-> corelist (Module::CoreList)メモリリークなどに気をつける必要がある-> Devel::Leak::Object性能の要件を満す必要がある-> Devel::NYTProfHokkaido.pm #4 - 20.