遍历目录文件
1 2 3 4 5
| files=$(ls $dir) for filename in $files do // 操作 done
|
时间日期
获取当前时间并格式化
1
| time="$(date '+%Y-%m-%d %H:%M:%S')"
|
获取近几天的日期
1 2 3 4 5 6
| dname1="$(date -d -1day +%Y%m%d)" //昨天 dname1="$(date -d -2day +%Y%m%d)" //前天 dname2="$(date -d -3day +%Y%m%d)" //大前天 dname1="$(date -d 1day +%Y%m%d)" //明天 dname1="$(date -d 2day +%Y%m%d)" //后天 dname1="$(date -d 3day +%Y%m%d)" //大后天
|
Mac中的date命令格式为usage: date [-jnRu] [-d dst] [-r seconds] [-t west] [-v[+|-]val[ymwdHMS]] ... [-f fmt date | [[[mm]dd]HH]MM[[cc]yy][.ss]] [+format],所以上述例子应写成$(date -v -1d +%Y-%m-%d)
路径
获取当前绝对路径
1 2
| work_path=$(dirname $(readlink -f $0)) echo $work_path
|
远程
普通SSH
带秘钥文件SSH
1 2
| chmod 600 /key.dat ssh -o port=8922 -i '/key.dat' root@192.168.2.2
|
SCP拉取文件
1
| scp root@192.168.2.2:/* '本地目录'
|
链接&发送操作
数据库操作
1 2 3 4 5
| mysql -uroot -p${password} <<EOF use ${dbname}; INSERT INTO ${dbname}.sync_record_history(type, start_time, source, created_at) VALUES ('$type', '$(date "+%Y-%m-%d %H:%M:%S")','$dir/$filename','$(date "+%Y-%m-%d %H:%M:%S")'); EOF
|
SSH远程操作
1 2 3 4
| chmod 600 /key.dat ssh root@192.168.2.2 <<EOF // ...输出操作,但不能执行脚本 EOF
|