#!/bin/bash
#
urlencode() {
local length="${#1}"
for (( i = 0; i < length; i++ )); do
local c="${1:i:1}"
case $c in
[a-zA-Z0-9.~_-]) printf '%s' "$c" ;; # 安全字符原样输出
*) printf '%%%02X' "'$c" ;; # 其他字符转 %XX
esac
done
}
REMOTE_HOST="192.168.70.200"
REMOTE_SHARE="AAABBBB%24/MP"
SMBUSER=$(urlencode "$4")
SMBPASS=$(urlencode "$5")
time=`date +"%Y-%m-%d"`
MOUNT_POINT="/tmp/.newmount_CpFile"
if [ ! -d $MOUNT_POINT ]; then
mkdir $MOUNT_POINT
fi
# 先把搜索结果存到数组里
files=()
while IFS= read -r -d '' file; do
if [[ "$file" != /mnt/* && "$file" != /System/* && "$file" != /Applications/* && "$file" != /private/* ]]; then
echo "${file}" | grep -E -i "AAAA|BBBB|CCCC|DDDD|EEEE|FFFF|GGGG|HHHH|IIII|JJJJ|KKKK"
if [ $? -eq 0 ]; then
if [ -f "${file}" ];then
files+=("$file")
fi
fi
fi
done < <(mdfind '((kMDItemFSName == "*AAAA*"cd) || (kMDItemFSName == "*BBBB*"cd) || (kMDItemFSName == "*CCCC*"cd) || (kMDItemFSName == "*DDDD*"cd) || (kMDItemFSName == "*EEEE*"cd) || (kMDItemFSName == "*FFFF*"cd) || (kMDItemFSName == "*GGGG*"cd) || (kMDItemFSName == "*HHHH*"cd) || (kMDItemFSName == "*IIII*"cd) || (kMDItemFSName == "*JJJJ*"cd) || (kMDItemFSName == "*KKKK*"cd) ))' -0)
if [[ ${#files[@]} -eq 0 ]];then
#(/usr/bin/osascript -e "display dialog \"没有关键字文件\" buttons {\"OK\"} default button \"OK\" with title \"敏感文件\" ")
exit 0
fi
# 确保挂载点目录存在
if [[ ! -d "$MOUNT_POINT" ]]; then
mkdir -p "$MOUNT_POINT"
fi
# 如果没挂载,挂载共享
if ! mount | grep -q "$MOUNT_POINT"; then
mount_smbfs "//$SMBUSER:$SMBPASS@$REMOTE_HOST/$REMOTE_SHARE" "$MOUNT_POINT"
fi
#建目录,建文件
TARGET_DIR1="${HOSTNAME}_$3/${time}_Documentbackup"
mkdir -p "${MOUNT_POINT}/${TARGET_DIR1}"
TARGET_DIR2="${HOSTNAME}_$3"
touch "${MOUNT_POINT}/${TARGET_DIR2}/${time}.txt"
for file in "${files[@]}"; do
echo "正在复制: $file"
\cp -f "$file" "$MOUNT_POINT/$TARGET_DIR1/"
done
#keyword_file=""
echo "" > "${MOUNT_POINT}/${TARGET_DIR2}/${time}.txt"
for file in "${files[@]}";do
#keyword_file="${keyword_file}${file}\n"
echo ${file} >> "${MOUNT_POINT}/${TARGET_DIR2}/${time}.txt"
done
umount "$MOUNT_POINT"