1.mariaDBをログインしないでShell Scriptで使う例
#!/bin/bash
# variable check
if [ $# -ne 2 ]; then
echo -n "Usage: "
echo -n `basename $0`
echo " target-clolumn target-word"
exit 1
fi
DB=データベース名
USER=ユーザ
PW=パスワード
TBL1=テーブル名
#CLMS1="tana, date, hinc, kata, katad"
CLMS1="tana, hinc, kata, katad"
mysql -u $USER -p$PW $DB << EOS
#select count(*) from $TBL1 where $1 like "$2";
select $CLMS1 from $TBL1 where $1 like "$2";
#show columns from zaiko;
EOS
上記を呼び出して使うShell Script
#!/bin/bash
DT=`cat ./target1.txt`
while read line
do
#echo -------------------------------------------------
tt=$line
echo ">>> $tt"
./slct01.sh kata $tt
#echo $line
done << FILE
$DT
FILE
2.バックアップ用のShell script
#!/bin/sh# Set mask for other user cann't read
umask 077
# backup file
# Retention period
period=31
# directory for backup files
dirpath='/home/pi/backup/mysql'
# backup file naming
filename=`date +%y%m%d`
#DB=データベース名
USER=ユーザ
PW=パスワード
# excute
mysqldump --opt --all-databases --events --default-character-set=binary -u$USER --password=$PW | gzip > $dirpath/$filename.sql.gz
# delete old backup files
oldfile=`date --date "$period days ago" +%y%m%d`
rm -f $dirpath/$oldfile.sql.gz
3.テストデータを insert する時の例
例は、2つのテーブルにテスト用の値を設定している。テーブルのデータを削除するのは、
truncate seibans;
truncate counters;
#!/bin/bash
DB=データベース名
USER=ユーザ
PW=パスワード
TBL1=seibans
TBL2=counters
# 配列宣言(-a)
declare -a sbn=()
# 初期化
declare -a sbn=("11111-11" "12345-76" "88888-99" "12345-56" "12345-89" "99999-00" "12345-66" "19625-01" "12345-67" "19625-02")
i=0
j=0
for e in ${sbn[@]}; do
#echo "sbn[$i] = ${e}"
let i++
let j++
aa=`date '+%s' | awk '{print strftime("%Y%m%d%H%M%S", $1)}'`
mysql -u $USER -p$PW $DB << EOS
insert into $TBL1 values ($j, '${e}', '${e}', 0, '11111', '$aa', '11111', '$aa');
EOS
done
mysql -u $USER -p$PW $DB << EOS
insert into $TBL2 values ('payouts', 1);
insert into $TBL2 values ("seibans", 1);
EOS
0 件のコメント:
コメントを投稿