【shell】定时检查说明

想法:定一个时间,然后查询需要格式的相关文件,移到一个新的文件夹下面

文件单独检查

进入账号su root之后,进入到crontab -e进行添加

#凌晨1点10分 0点30分
10 1 * * * /data/edw_ods/check_st/1move_file.sh
30 0 * * * /data/edw_ods/check_st/0move_file.sh

0move_file.sh

#!/bin/bash
log_file="0update_st_move_file.txt" # 设置日志文件名为 check_st_move_file.txt
echo "开始记录日志..." > $log_file # 创建并初始化日志文件

# 20240315
yesterday=$(date -d "1 day ago" +%Y%m%d)
echo $yesterday  >> $log_file # 添加当前时间到日志文件

source=/data/edw_ods/check/
target=/data/edw_ods/check_st/update_$yesterday
mkdir -p $target

#定义字符数组
array=("APPLE" "BANANA" "ORANGE") 
#获取数组长度
length=${#array[@]}   
 
for ((i = 0; i < length; ++i)); do
    #打印每个元素
    echo ${array[i]} >> $log_file # 运行 command1 命令,并将其输出追加到日志文件
    group_name=${array[i]}
    find $source -name ${group_name}"_#500_D_"$yesterday"_A_NM_F1.ITF"  -exec mv -f {} $target \;
    find $source -name "YS_"${group_name}"_#500_D_"$yesterday"_A_NM_F1.csv"  -exec mv -f {} $target \;
done

1move_file.sh

#!/bin/bash
log_file="1check_st_move_file.txt" # 设置日志文件名为 check_st_move_file.txt
echo "开始记录日志..." > $log_file # 创建并初始化日志文件

# 20240315
yesterday=$(date -d "1 day ago" +%Y%m%d)
echo $yesterday  >> $log_file # 添加当前时间到日志文件

source=/data/edw_ods/check/
target=/data/edw_ods/check_st/$yesterday
mkdir -p $target

#定义字符数组
array=("APPLE" "BANANA" "ORANGE") 
#获取数组长度
length=${#array[@]}   
 
for ((i = 0; i < length; ++i)); do
    #打印每个元素
    echo ${array[i]} >> $log_file # 运行 command1 命令,并将其输出追加到日志文件
    group_name=${array[i]}
    find $source -name ${group_name}"_#500_D_"$yesterday"_A_NM_F1.ITF"  -exec mv -f {} $target \;
    find $source -name "YS_"${group_name}"_#500_D_"$yesterday"_A_NM_F1.csv"  -exec mv -f {} $target \;
done

3succ_file.sh

#!/bin/bash
# 20240315
yesterday=$(date -d "1 day ago" +%Y%m%d)
mv $yesterday/*.ITF ../st
mv $yesterday/*.csv ../st
mv $yesterday _del_$yesterday

密码修改

#!/bin/bash

USERNAME="edw_ods" 		# 输入你想要修改密码的用户名
PASSWORD="****"   		# 输入当前的密码
NEW_PASSWORD="****"    	# 输入新的密码
HOST="127.88.75.122"    # 输入主机名或IP地址
PORT=22                 # SFTP默认端口号为22

echo "Changing password for user $USERNAME on host $HOST..."

expect <<EOF
spawn sftp $USERNAME@$HOST:$PORT
set timeout 10

expect {
    "*assword:" { send "$PASSWORD\r"; exp_continue }
}

send "passwd\r"
expect {
    "*New Password*" { send "$NEW_PASSWORD\r"; exp_continue }
    "*Retype New Password*" { send "$NEW_PASSWORD\r" }
}

interact
exit
EOF

echo "Password changed successfully."

相关推荐

  1. shell定时检查说明

    2024-03-20 16:52:03       39 阅读
  2. 每日shell脚本之定期检查服务器状态

    2024-03-20 16:52:03       48 阅读
  3. shell函数的定义

    2024-03-20 16:52:03       34 阅读
  4. linux centos 定时任务,执行shell脚本

    2024-03-20 16:52:03       42 阅读
  5. 定时清理Linux服务器缓存shell脚本

    2024-03-20 16:52:03       31 阅读

最近更新

  1. docker php8.1+nginx base 镜像 dockerfile 配置

    2024-03-20 16:52:03       98 阅读
  2. Could not load dynamic library ‘cudart64_100.dll‘

    2024-03-20 16:52:03       106 阅读
  3. 在Django里面运行非项目文件

    2024-03-20 16:52:03       87 阅读
  4. Python语言-面向对象

    2024-03-20 16:52:03       96 阅读

热门阅读

  1. SpringBoot+定时器

    2024-03-20 16:52:03       39 阅读
  2. rust学习笔记(8-12)

    2024-03-20 16:52:03       40 阅读
  3. 在 Docker Swarm 中,如何找到哪个节点 IP

    2024-03-20 16:52:03       39 阅读
  4. Vue中$set用法解析

    2024-03-20 16:52:03       44 阅读
  5. C语言宏定义,内置宏,__FILE__,__LINE__,## 用法

    2024-03-20 16:52:03       43 阅读
  6. 服务器c盘为什么会突然满了,怎么办吗

    2024-03-20 16:52:03       43 阅读
  7. UDP客户端与服务端执行bind和connect

    2024-03-20 16:52:03       37 阅读
  8. leetcode刷题笔记

    2024-03-20 16:52:03       44 阅读
  9. vue系列:使用vue3、ant-d,a-select下拉的搜索功能

    2024-03-20 16:52:03       36 阅读
  10. Python运算符、表达式、数据类型及常用关键字

    2024-03-20 16:52:03       38 阅读
  11. 条件随机场(CRF)笔记

    2024-03-20 16:52:03       40 阅读
  12. 王道机试指南 复试机试准备day1

    2024-03-20 16:52:03       44 阅读