403Webshell
Server IP : 103.119.228.120  /  Your IP : 3.147.48.105
Web Server : Apache
System : Linux v8.techscape8.com 3.10.0-1160.119.1.el7.tuxcare.els2.x86_64 #1 SMP Mon Jul 15 12:09:18 UTC 2024 x86_64
User : nobody ( 99)
PHP Version : 5.6.40
Disable Function : shell_exec,symlink,system,exec,proc_get_status,proc_nice,proc_terminate,define_syslog_variables,syslog,openlog,closelog,escapeshellcmd,passthru,ocinum cols,ini_alter,leak,listen,chgrp,apache_note,apache_setenv,debugger_on,debugger_off,ftp_exec,dl,dll,myshellexec,proc_open,socket_bind,proc_close,escapeshellarg,parse_ini_filepopen,fpassthru,exec,passthru,escapeshellarg,escapeshellcmd,proc_close,proc_open,ini_alter,popen,show_source,proc_nice,proc_terminate,proc_get_status,proc_close,pfsockopen,leak,apache_child_terminate,posix_kill,posix_mkfifo,posix_setpgid,posix_setsid,posix_setuid,dl,symlink,shell_exec,system,dl,passthru,escapeshellarg,escapeshellcmd,myshellexec,c99_buff_prepare,c99_sess_put,fpassthru,getdisfunc,fx29exec,fx29exec2,is_windows,disp_freespace,fx29sh_getupdate,fx29_buff_prepare,fx29_sess_put,fx29shexit,fx29fsearch,fx29ftpbrutecheck,fx29sh_tools,fx29sh_about,milw0rm,imagez,sh_name,myshellexec,checkproxyhost,dosyayicek,c99_buff_prepare,c99_sess_put,c99getsource,c99sh_getupdate,c99fsearch,c99shexit,view_perms,posix_getpwuid,posix_getgrgid,posix_kill,parse_perms,parsesort,view_perms_color,set_encoder_input,ls_setcheckboxall,ls_reverse_all,rsg_read,rsg_glob,selfURL,dispsecinfo,unix2DosTime,addFile,system,get_users,view_size,DirFiles,DirFilesWide,DirPrintHTMLHeaders,GetFilesTotal,GetTitles,GetTimeTotal,GetMatchesCount,GetFileMatchesCount,GetResultFiles,fs_copy_dir,fs_copy_obj,fs_move_dir,fs_move_obj,fs_rmdir,SearchText,getmicrotime
MySQL : ON |  cURL : ON |  WGET : ON |  Perl : ON |  Python : ON |  Sudo : ON |  Pkexec : ON
Directory :  /usr/share/zsh/5.0.2/functions/

Upload File :
current_dir [ Writeable] document_root [ Writeable]

 

Command :


[ Back ]     

Current File : /usr/share/zsh/5.0.2/functions/zfuget
# function zfuget {
# Get a list of files from the server with update.
# In other words, only retrieve files which are newer than local
# ones.  This depends on the clocks being adjusted correctly
# (i.e. if one is fifteen minutes out, for the next fifteen minutes
# updates may not be correctly calculated).  However, difficult
# cases --- where the files are the same size, but the remote is newer,
# or have different sizes, but the local is newer -- are prompted for.
#
# Files are globbed on the remote host --- assuming, of course, they
# haven't already been globbed local, so use 'noglob' e.g. as
# `alias zfuget="noglob zfuget"'.
#
# Options:
#  -G    Glob:     turn off globbing
#  -v    verbose:  print more about the files listed.
#  -s    silent:   don't ask, just guess.  The guesses are:
#                - if the files have different sizes but remote is older ) grab
#                - if they have the same size but remote is newer        )
#                  which is safe if the remote files are always the right ones.
#   -t   time:     update the local file times to the same time as the remote.
#                  Currently this only works if you have the `perl' command,
#                  and that perl is version 5 with the standard library.
#                  See the function zfrtime for more gory details.

emulate -L zsh

[[ $curcontext = :zf* ]] || local curcontext=:zfuget
local loc rem locstats remstats doit tmpfile=${TMPPREFIX}zfuget$$
local rstat remlist opt opt_v opt_s opt_G opt_t
integer stat do_close

zfuget_print_time() {
  local tim=$1
  print -n "$tim[1,4]/$tim[5,6]/$tim[7,8] $tim[9,10]:$tim[11,12].$tim[13,14]"
  print -n GMT
}

zfuget_print () {
  print -n "\nremote $rem ("
  zfuget_print_time $remstats[2]
  print -n ", $remstats[1] bytes)\nlocal $loc ("
  zfuget_print_time $locstats[2]
  print ", $locstats[1] bytes)"
}

while getopts :vsGt opt; do
  [[ $opt = "?" ]] && print "zfuget: bad option: -$OPTARG" >&2 && return 1
  eval "opt_$opt=1"
done
(( OPTIND > 1 )) && shift $(( OPTIND - 1 ))

zfautocheck || return 1

for remlist in $*; do
  # zfcd directory hack to put the front back to ~
  if [[ $remlist == $HOME || $remlist == $HOME/* ]]; then
    remlist="~${remlist#$HOME}"
  fi
  if [[ $opt_n != 1 ]]; then
    zfrglob remlist
  fi
  if (( $#remlist )); then
    for rem in $remlist; do
      loc=${rem:t}
      doit=y
      remstats=()
      if [[ -f $loc ]]; then
	zftp local $loc >$tmpfile
	locstats=($(<$tmpfile))
	zftp remote $rem >$tmpfile
	rstat=$?
	remstats=($(<$tmpfile))
	rm -f $tmpfile
	if [[ $rstat = 2 ]]; then
	  print "Server does not implement full command set required." 1>&2
	  return 1
	elif [[ $rstat = 1 ]]; then
	  print "File not found on server: $rem" 1>&2
	  stat=1
	  continue
	fi
	[[ $opt_v = 1 ]] && zfuget_print
	if (( $locstats[1] != $remstats[1] )); then
	  # Files have different sizes
	  if [[ $locstats[2] > $remstats[2] && $opt_s != 1 ]]; then
	    [[ $opt_v != 1 ]] && zfuget_print
	    print "Local file $loc more recent than remote," 1>&2
	    print -n "but sizes are different.  Transfer anyway [y/n]? " 1>&2
	    read -q doit
	  fi
	else
	  # Files have same size
	  if [[ $locstats[2] < $remstats[2] ]]; then
	    if [[ $opt_s != 1 ]]; then
	      [[ $opt_v != 1 ]] && zfuget_print
	      print "Local file $loc has same size as remote," 1>&2
	      print -n "but local file is older. Transfer anyway [y/n]? " 1>&2
	      read -q doit
	    fi
	  else
	    # presumably same file, so don't get it.
	    [[ $opt_v = 1 ]] && print Not transferring
	    doit=n
	  fi
	fi
      else
	[[ $opt_v = 1 ]] && print New file $loc
      fi
      if [[ $doit = y ]]; then
	if zftp get $rem >$loc; then
	  if [[ $opt_t = 1 ]]; then
	    # if $remstats is set, it's second element is the remote time
	    zfrtime $loc $rem $remstats[2]
	  fi
	else
	  stat=$?
	fi
	
      fi
    done
  fi
done

(( do_close )) && zfclose

return $stat
# }

Youez - 2016 - github.com/yon3zu
LinuXploit