- 检测 Web 服务器
- 备份数据库
- 获取文件名
- 获取文件扩展名
- 重命名文件
检测 Web 服务器
新建文件 vim ~/http.sh 写入以下内容
#!/bin/baship=xxxxxx #自定义port=$(nmap -sT $ip | grep tcp | grep http | grep 80 | awk '{print $2}')if [ "$port" == "" ]; thensystemctl restart nginxecho "http error $(date +%Y-%m-%d' '%H:%M:%S)" >> ~/http_logs_error.logfi
设置定时任务
*/10 * * * * ~/http.sh #10分钟执行一次
备份数据库
新建文件 vim ~/mysqldump.sh 写入以下内容
#!/bin/bashdir=~/data_bak #自定义filename=demo #自定义username=nick #自定义password=xxx #自定义database=demo #自定义if [ -d $dir ]; thenmysqldump -u$username -p$password $database | gzip > $dir/$filename\_$(date +%Y%m%d).sql.gzelsemkdir $dirmysqldump -u$username -p$password $database | gzip > $dir/$filename\_$(date +%Y%m%d).sql.gzfi
设置定时任务
1 3 * * 0 ~/mysqldump.sh # 每周日凌晨3点1分执行
补充:新建的 shell 脚本默认没有执行权限,需要自己添加
获取文件名
#!/bin/bashfile_jpg="sample.jpg"name=${file_jpg%.*}echo File name is: $name
获取文件扩展名
#!/bin/bashfile="sample.png.text"echo ${file##*.} #贪婪模式,匹配到最后一个 .
重命名文件
#!/bin/bashcount=1;for file in $(find . -maxdepth 1 -type f -iname '*.html')donew_file=filename-$count.${file##*.}echo "Renaming $file to $new_file"mv "$file" "$new_file"let count++done
