Linux日常应用记录
原创
©著作权归作者所有:来自51CTO博客作者那年我还是个Pika的原创作品,请联系作者获取转载授权,否则将追究法律责任
应用一
- 描述:根据pgrep查询出来的pid执行kill操作
- 功能分析:具体需要实现以下功能
- 通过传入的进程名(通过正则精确匹配)称查询pid
- 将查询的pid以,连接成一个完整的字符串
- 将查询pid赋值给参数
- 执行kill + 参数
#!/bin/bash
pids=`pgrep "^$1$"`
for pid in ${pids[@]}
do
echo $pid
sudo kill $pid
done
应用二
需求
- 说明:打包/var/data下的前四天数据(文件夹以日期YYYY-MM-DD命名),打包完后上删除文件
- 功能分析
- 进入数据目录
- 设置日期变量,获取前四天日期
- 格式化日期为YYYY-MM-DD
- 对比是否有前一天文件夹
- 如果有则开始压缩
- 压缩完后删除原文件
- 上传完成后删除
- 所用Linux命令:cd date ls if tar
相关命令
- 获取一天以前的日期并以YYYY-MM-DD格式输出
today=$(date -d "1 day ago" +"%Y-%m-%d")
- 对比是否有前一天文件夹: 先循环dirs,然后和today变量进行对比,如果存在则压缩前一天文件并在压缩完成后删除原文件
for file in $dirs;do
echo $file;
//对比文件,如果存在则执行相应操作
if [ "$today" = "$file" ];
then
tar -czf demo.tar.gz $file
rm -rf $file
exit 127
fi
done
today=$(date -d "1 day ago" +"%Y-%m-%d")
echo "the date dir is $today"
dirs=$(ls)
echo "the list of file or dirs is $dirs"
for file in $dirs;do
echo $file;
#对比文件,如果存在则执行相应操作
if [ "$today" = "$file" ];
then
tar -czf demo.tar.gz $file
rm -r $file
exit 127
fi
done