HEX

Warning: set_time_limit() [function.set-time-limit]: Cannot set time limit - prohibited by configuration in /home/u547966/brikov.ru/www/wp-content/plugins/admin-menu-editor/menu-editor.php on line 745
Server: Apache
System: Linux 4.19.0-0.bpo.9-amd64 x86_64 at red40
User: u547966 (5490)
PHP: 5.3.29-mh2
Disabled: syslog, dl, popen, proc_open, proc_nice, proc_get_status, proc_close, proc_terminate, posix_mkfifo, chown, chgrp, accelerator_reset, opcache_reset, accelerator_get_status, opcache_get_status, pcntl_alarm, pcntl_fork, pcntl_waitpid, pcntl_wait, pcntl_wifexited, pcntl_wifstopped, pcntl_wifsignaled, pcntl_wifcontinued, pcntl_wexitstatus, pcntl_wtermsig, pcntl_wstopsig, pcntl_signal, pcntl_signal_dispatch, pcntl_get_last_error, pcntl_strerror, pcntl_sigprocmask, pcntl_sigwaitinfo, pcntl_sigtimedwait, pcntl_exec, pcntl_getpriority, pcntl_setpriority
Upload Files
File: //proc/self/root/usr/bin/userlogs
#!/bin/bash

usage() {
	while IFS='' read line; do printf '%s\n' "$line"; done <<- EOF
		Usage: userlogs [-c <configfile> -h <homebase> -d]
	EOF
}

err() {
	printf '%s\n' "$*" >&2
}

sync_logs() {
	declare s_domain=$1 s_user

	IFS='/' read _ _ s_user _ < <(
		find "$cfg_home_base" -mindepth 2 -maxdepth 2 -type d -name "$s_domain"
	)

	if (( $? )); then
		return 1
	fi

	if ! [[ "$s_user" ]]; then
		err "ERROR: Could not find s_user for s_domain $s_domain!"
		return 1
	fi

	if (( flag_debug )); then
		printf 'DEBUG: Domain: %s; User: %s\n' "$s_domain" "$s_user"
	fi

	rsync "/home/$s_user/_logs/$s_domain/$s_domain.access_log-"* "/home/$s_user/$s_domain/logs"
	chown -R "$s_user:$s_user" "/home/$s_user/$s_domain/logs"
}

main() {
	cfg_file='/etc/uploadlogs/domains-postproc.conf'
	cfg_home_base='/home'

	while (( $# )); do
		case "$1" in
			(-h) usage; return 0;;

			(-c) cfg_file="$2"; shift;;
			(-h) cfg_home_base="$2"; shift;;
			(-d) flag_debug=1;;

			(--) shift; break;;
			(*) break;;
		esac
		shift
	done

	if ! exec 3< "$cfg_file"; then
		return 1
	fi

	while IFS=':' read domain _; do
		sync_logs "$domain"
	done <&3

	exec 3>&-
}

main "$@"