トップ  > メモ一覧  > カテゴリ「sh」の絞り込み結果 : 7件

7件中 1 〜 7 表示  1 

No.5237 シェルスクリプト Loop

### log.1〜9 をコピー
for i in `seq 1 9`
do
  cp /var/log/httpd/access_log.$i ./
done


### log.1~12 のうち、3/1~3/7 のログを出力
for i in `seq 1 12`
do
  cat access_log.$i | egrep '0[1-7]{1}/Mar/2015' >> comb_log
  echo 'done '$i
done

### アクセスログの合計サイズ(MB)を計算・出力
cat comb_log | grep 'HTTP/1.1" 200'|awk '{sum+=$11/1024/1024}END{print sum}'
更新:2015/03/12 14:56 カテゴリ: Linux  > sh ▲トップ

No.5231 シェルスクリプトで現在のパスを取得

#!/bin/sh
DIR=$(cd $(dirname $0); pwd)
echo $DIR

引用元

更新:2015/02/12 08:08 カテゴリ: Linux  > sh ▲トップ

No.5048【引用】シェルスクリプトでファイル存在確認


シェルスクリプトでファイル存在確認
シェルスクリプト | 15:55
bash の場合
「-e Liunx.txt」・・・Liunx.txtが存在しているか。
「-f Liunx.txt」・・・Liunx.txtが存在し、通常のファイルであるか。
「-r Liunx.txt」・・・Liunx.txtが存在し、読み取り可能であるか。
「-s Liunx.txt」・・・Liunx.txtのファイルサイズが0でなければ真。
--------------------------------
if [ ! -e Liunx.txt ]; then
echo "Liunx.txtファイルがありません。"
fi
----------------------------...

引用元

更新:2014/01/24 08:42 カテゴリ: Linux  > sh ▲トップ

No.4215【引用】シェルスクリプトでパス文字列からファイル名/ディレクトリ名/拡張子を抽出する

シェルスクリプトでパス文字列からファイル名/ディレクトリ名/拡張子を抽出する
対象プラットフォーム: FreeBSD 7.x / FreeBSD 6.x

はじめに
シェルスクリプトを書いていると、ファイル名を含むパス文字列から、ファイル名や、ディレクトリ名、拡張子の部分のみを抽出したいケースによく遭遇します。
このページでは、これらの文字列の抽出方法について説明します。
早速サンプルのシェルスクリプト
ファイル名を含むパス文字列から、ファイル名や、ディレクトリ名、拡張子の部分のみを抽出するのは、かなり容易です...

引用元

更新:2011/12/11 20:22 カテゴリ: Linux  > sh ▲トップ

No.3841 work の下のフォルダをまとめて作るシェルスクリプト

#!/bin/bash
# command "mkdir_work"

if [ $# -ne 1 ]; then
	echo "指定された引数は$#個です。" 1>&2
	echo "実行するには1個の引数が必要です。" 1>&2
	exit 1
fi

WORKS_DIR='/Users/shingo/works'
if [ ! -d $WORKS_DIR ]
then
	echo "works ディレクトリがありません。" 1>&2
	exit 1
fi
cd $WORKS_DIR
TARGET_DIR="./"$1
if [ -d $TARGET_DIR ]
then
	echo "既にディレクトリがあります。" 1>&2
	exit 1
fi
mkdir $TARGET_DIR
cd $TARGET_DIR

mkdir "docs"
mkdir "src"
mkdir "svn"
mkdir "tmp"

更新:2011/06/24 13:30 カテゴリ: Linux  > sh ▲トップ

No.2706 コマンドラインから添付ファイル付きのメールを送信する方法(の一例)

コマンドラインから添付ファイル付きのメールを送信する方法(の一例)

しばらくぶりのLinuxねた。

Linuxのコンソールからsendmailコマンドやmailコマンドを利用して
メールを送信できることは周知の事実だが、添付ファイルをつけて送信・・・となると
以下のような理由で一気に難易度があがることになる。

  ・sendmail/mailコマンドが添付ファイルに対応していない(と思う)
・uuencodeで送りつけてもいいが、受信できるメーラーが制限される。

→ # uuencode [attach_file] | mail -s 'Subject' [to@mail.address]
  ・MIMEを理解しないといけない。

Perlとかプログラムを組めばいけそうだが、そんなスキルはないので、
提供されているプログラムだけを利用してシェルスクリプトを書いてみた。

Redhat Enterprise Linux v5で動作確認したが、一応普通に動作するようで、
メールはちゃんと添付ファイルの状態で送られてきた。

スクリプトを掲載するので、自由に改変/使用していただいてOKです。
スクリプトの簡単な使い方は以下の通りです。

  1.スクリプト内の以下の変数を変更する。
→ from_addr/to_addr/subject

  2.各コマンドの存在を確認する。
→ date/file/cut/sed/uuencode/sendmail

  3.実行してみる。
→ MIME_MAIL.sh [path_to_attach_file]

なお、以下の点にだけご注意ください。

何があっても責任は取れません。
\_( ゚ロ゚)ハイ!ここ重要。
  ・エラー対策は一切してません。
・RFC(MIME)に完全に準拠できていないと思います。
・問題点、よりスマートなコードなどありましたらコッソリ教えてください。
・英文法に対するツッコミはなしの方向で。


では。

# vi MIME_MAIL.sh

#!/bin/bash

## Init section
from_addr='from@address'
to_addr='to@address'
subject='Subject'
boundary=`date +%Y%m%d%H%M%N`
content_type=`file --mime $1 | cut -d' ' -f2`
filename=`echo $1 | sed -e "s/.*\/\(.*$\)/\1/"`

## generate MIME encoded mail
echo "From: $from_addr" > .MIME_MAIL.tmp
echo "To: $to_addr" >> .MIME_MAIL.tmp
echo "Subject: $subject" >> .MIME_MAIL.tmp
echo "MIME-Version: 1.0" >> .MIME_MAIL.tmp
echo "Content-type: multipart/mixed; boundary=\"----$boundary\"" >> .MIME_MAIL.tmp
echo "Content-Transfer-Encoding: 7bit" >> .MIME_MAIL.tmp
echo "" >> .MIME_MAIL.tmp
echo "This is a multi-part message in MIME format." >> .MIME_MAIL.tmp
echo "" >> .MIME_MAIL.tmp

## Insert MAIL_BODY (if you need)
echo "------$boundary" >> .MIME_MAIL.tmp
#echo "Content-type: text/plain; charset=iso-2022-jp" >> .MIME_MAIL.tmp
echo "Content-type: text/plain; charset=us-ascii" >> .MIME_MAIL.tmp
echo "Content-Transfer-Encoding: 7bit" >> .MIME_MAIL.tmp
echo "" >> .MIME_MAIL.tmp
echo "Generated by MIME_MAIL.sh" >> .MIME_MAIL.tmp
echo "" >> .MIME_MAIL.tmp

## Attach file to E-Mail
echo "------$boundary" >> .MIME_MAIL.tmp
echo "Content-type: $content_type" >> .MIME_MAIL.tmp
echo " name=$filename" >> .MIME_MAIL.tmp
echo "Content-Transfer-Encoding: base64" >> .MIME_MAIL.tmp
echo "Content-Disposition : attachment;" >> .MIME_MAIL.tmp
echo " filename=$filename" >> .MIME_MAIL.tmp
echo "" >> .MIME_MAIL.tmp
uuencode --base64 $1 $filename | grep -v "begin-base64" >> .MIME_MAIL.tmp
echo "" >> .MIME_MAIL.tmp
echo "------$boundary--" >> .MIME_MAIL.tmp

## Send E-Mail
/usr/sbin/sendmail -i $to_addr < .MIME_MAIL.tmp

## Delete TEMP file
rm -f .MIME_MAIL.tmp

exit 0

[2008.7.8追記]
以下の修正行った。
・添付ファイルの前(filename=$filename直後)に空白行が必要なようなので追加した。
・uuencodeの出力にあるbegin-base64が不要のようなので削除した。

引用元

更新:2010/06/16 19:26 カテゴリ: Linux  > sh ▲トップ

No.2637 SQLの結果をメールで送信するsh

-----------------------
#!/bin/sh
USERNAME="root"
PASSWORD="******"
DBNAME="db_name"
WORKPATH="/tmp/"
FILENAME="hoge.sql"
SUBJECT="hoge2";
MAIL1="hoge@example.com"
MAIL2="fuga@example.com"

cd ${WORKPATH}
echo "select * from c_member;" | mysql -u ${USERNAME} -p ${PASSWORD} ${DBNAME} > ${FILENAME}
tar czvf ${FILENAME}.tar.gz ${FILENAME}
uuencode ${WORKPATH}${FILENAME} ${FILENAME} | mail -s ${SUBJECT} ${MAIL1} -c ${MAIL2}
-----------------------
※um -y install sharutils ← バイナリファイルをメール添付するのに必要なバイナリデータエンコードコマンド(uuencode)を含むsharutilsパッケージをインストール

更新:2010/06/08 18:01 カテゴリ: Linux  > sh ▲トップ
7件中 1 〜 7 表示  1 

FuelPHP

Mac

web開発

プロマネ

マネタイズ

プレゼン

webサービス運用

webサービス

Linux

サーバ管理

MySQL

ソース・開発

svn・git

PHP

HTML・CSS

JavaScript

ツール, ライブラリ

ビジネス

テンプレート

負荷・チューニング

Windows

メール

メール・手紙文例

CodeIgniter

オブジェクト指向

UI・フロントエンド

cloud

マークアップ・テキスト

Flash

デザイン

DBその他

Ruby

PostgreSQL

ユーティリティ・ソフト

Firefox

ハードウェア

Google

symfony

OpenPNE全般

OpenPNE2

Hack(賢コツ)

OpenPNE3

リンク

個人開発

その他

未確認

KVS

ubuntu

Android

負荷試験

オープンソース

社会

便利ツール

マネー

Twig

食品宅配

WEB設計

オーディオ

一般常識

アプリ開発

サイトマップ

うずら技術ブログ

たませんSNS

rss2.0