X7ROOT File Manager
Current Path:
/var/VMOptimizationToolsLinux
var
/
VMOptimizationToolsLinux
/
📁
..
📄
LinuxUpdate.XML
(645 B)
📄
SangforVMSTool
(3.11 KB)
📄
SangforVMSTool.service
(194 B)
📄
action_common.sh
(13.34 KB)
📄
busybox_cmd_ln.sh
(2.24 KB)
📄
collect_test_data.sh
(1.16 KB)
📄
common_config.sh
(278 B)
📄
data_test_tool.sh
(12.59 KB)
📄
debian_vmconfig.sh
(10.74 KB)
📄
guest_system_config.sh
(1.82 KB)
📄
log.sh
(1.36 KB)
📄
mod_test.sh
(3.69 KB)
📄
mod_test1.sh
(914 B)
📄
net_common.sh
(915 B)
📄
redhat_vmconfig.sh
(11.14 KB)
📄
sangfor_guest_datareport
(21.66 KB)
📄
sangfor_heartalive.sh
(2.37 KB)
📄
sangfor_module_update
(28.11 KB)
📄
sangfor_set_network.sh
(504 B)
📄
sangfor_sfping
(3.85 KB)
📄
sangfor_sshkey_gen
(1.29 KB)
📄
sangfor_update_ipc_callback
(5.29 KB)
📄
sangfor_vm_proxyd
(3.45 KB)
📄
sangfor_vm_proxyd_r
(4.4 KB)
📄
sangfor_vm_proxyd_w
(1.32 KB)
📄
sangfor_vmconfig
(2.4 KB)
📄
sangfor_vmconfig_common
(27.99 KB)
📄
sangfor_vmconfig_ipc_callback
(4.75 KB)
📄
sangfor_watchdog
(3.95 KB)
📄
sfping.c
(15.68 KB)
📄
sfping.pl
(6.15 KB)
📄
startall
(1.78 KB)
📄
stopall
(1.11 KB)
📄
suse_vmconfig.sh
(6.19 KB)
📁
tools_x64
📁
tools_x86
📄
uni_test.sh
(2.59 KB)
📄
update_common_func
(4.35 KB)
📄
update_common_header
(4.86 KB)
📄
update_config
(2.89 KB)
📄
update_install
(28.84 KB)
📄
virtio_nic_attr_set.sh
(2.42 KB)
📄
virtio_nic_compat.sh
(5.28 KB)
📄
vm_ip_recover.sh
(16.66 KB)
📄
vm_ipc.sh
(9.06 KB)
📄
vmconfig_common_func
(10.76 KB)
📄
vmconfig_common_header
(3.37 KB)
📄
vmconfig_config
(805 B)
📄
vmtools-install.sh
(31.16 KB)
📄
watch_test.sh
(313 B)
📄
watchdog.sh
(1.39 KB)
📁
x64
📁
x86
Editing: sangfor_update_ipc_callback
#!/bin/bash shell_dir=$( cd "$( dirname "${BASH_SOURCE[0]}" )" && pwd ) # . "${shell_dir}/log.sh" . "${shell_dir}/update_config" . "${shell_dir}/vm_ipc.sh" . "${shell_dir}/update_common_header" . "${shell_dir}/update_common_func" . "${shell_dir}/watchdog.sh" declare g_current_directory_temp="" declare g_temp_directory_temp="" # local modid=${1} # local instid=${2} # local datafile=${3} get_file_data_respond_temp(){ local modid=${1} local instid=${2} local datafile=${3} local use_time=0 local time_out=${g_time_out} local data_str="" test -z "${g_temp_directory_temp}" && return 1 log_debug "get_file_data_respond in!" # The file saved must be dealed. while [ -e "${g_temp_directory_temp}/${g_get_file_flag}" ] do if [ ${use_time} -ge ${time_out} ];then # timeout log_debug "get_file_data_respond:time out." break fi sleep 1 use_time=$((use_time+1)) done if [ -e "${g_temp_directory_temp}/${g_get_file_flag}" ];then log_error "get_file_data_respond:${g_temp_directory_temp}/${g_get_file_flag} is exist! remove it!!" rm -f "${g_temp_directory_temp}/${g_get_file_flag}" 2>/dev/null if [ $? -ne 0 ];then log_error "get_file_data_respond:remove ${g_temp_directory_temp}/${g_get_file_flag} failed!" #delete failed #return 1 fi fi log_debug "get_file_data_respond:datafile:${datafile}" # Decode the data by base64. rm -f "${g_temp_directory_temp}/${g_save_file_temp_name}" if [ $? -ne 0 ];then log_warn "get_file_data_respond:remove ${g_temp_directory_temp}/${g_save_file_temp_name} failed!" fi # sed 's/.*"data":"\(.*\)".*/\1/g' "${datafile}" | base64 -d > "${g_temp_directory_temp}/${g_save_file_temp_name}" data_str=$(grep -oP '(?<="data":")[^"]+' "${datafile}" 2>/dev/null) if [ -z "$data_str" ];then data_str=$(sed -n 's/.*\"data\":"\(.*\)".*/\1/p' "${datafile}" 2>/dev/null) fi echo "$data_str" | base64 -d > "${g_temp_directory_temp}/${g_save_file_temp_name}" if [ $? -ne 0 ];then log_error "get_file_data_respond:sed to save file failed!" else log_debug "get_file_data_respond:sed to save file success." fi if [ -e "${g_temp_directory_temp}/${g_save_file_temp_name}" ];then log_debug "get_file_data_respond:${g_temp_directory_temp}/${g_save_file_temp_name} exist." echo "success" > "${g_temp_directory_temp}/${g_get_file_flag}" 2>/dev/null return 0 else log_error "get_file_data_respond:${g_temp_directory_temp}/${g_save_file_temp_name} is not exist." rm -f "${g_temp_directory_temp}/${g_get_file_flag}" 2>/dev/null if [ $? -ne 0 ];then log_warn "get_file_data_respond:remove ${g_temp_directory_temp}/${g_get_file_flag} failed!" fi return 1 fi } # local modid=${1} # local instid=${2} # local datafile=${3} respond_callback_temp(){ local modid=${1} local instid=${2} local datafile=${3} local msg_type=0 # local temp_str="" log_debug "respond_callback" log_debug "modid:${modid}" log_debug "instid:${instid}" log_debug "datafile:${datafile}" if [ ! -e "${datafile}" ];then log_error "respond_callback:datafile::${datafile} is not exist" return 1 fi # temp_str=`sed 's/.*"type":"\(.*\)".*/\1/g' "${datafile}" 2>/dev/null` # log_debug "respond_callback:temp_str:${temp_str}" # msg_type=`sed 's/.*"type":\([0-9]*\),.*/\1/g' "${datafile}" 2>/dev/null` msg_type=`grep -oP '(?<="type":)[0-9]+' "${datafile}" 2>/dev/null` if [ -z "$msg_type" ];then msg_type=$(sed -n 's/.*\"type\":\(.*\),\"number\":.*/\1/p' "${datafile}" 2>/dev/null) fi log_debug "respond_callback:msg_type:${msg_type}" if [ x"${msg_type}" = x"1012" ];then # get_file_info_respond "${modid}" "${instid}" "${datafile}" return elif [ x"${msg_type}" = x"1014" ];then get_file_data_respond_temp "${modid}" "${instid}" "${datafile}" fi return } main(){ #init environment set_log_filepath "${g_sangfor_log_dir}/${g_update_callback_shell_file}.log" kill_process "${g_update_callback_shell_file}" #watch watchdog_reg_proccess "${g_update_callback_shell_file}" g_current_directory_temp="${shell_dir}" if [ x"${g_current_directory_temp}" = x"" ];then log_error "get current dir failed!" return 1 fi log_debug "g_current_directory_temp:${g_current_directory_temp}" g_temp_directory_temp="$( cd "${g_current_directory_temp}/../" && pwd )/${g_temp_dir_name}" log_debug "g_temp_directory_temp:${g_temp_directory_temp}" test -z "${g_current_directory_temp}" && return 1 test -z "${g_temp_directory_temp}" && return 1 vm_ipc_init ${g_mode_id} ${g_instance_id} if [ $? -ne 0 ]; then log_error "vm_ipc_init() failed! modid='${g_mode_id}' instid='${g_instance_id}'" return 1 fi set_log_filepath "${g_sangfor_log_dir}/${g_update_callback_shell_file}.log" log_debug "g_mode_id:${g_mode_id}" log_debug "g_instance_id:${g_instance_id}" vm_ipc_reg_callback 103 respond_callback_temp while true do vm_ipc_event_loop_once watchdog_check_once sleep 1 done } main exit $?
Upload File
Create Folder