Господа, прошу прощения что пишу в б но все доски мертвы, а помощь нужна ну прям очень!Есть VDS с установленым proftpd (ftp сервис)Через хост посредством пхп команды должен перезаписываться файл. Но... он перезаписывается раз через раз. Чую я что проблема кроется в настройке proftpd. Надеюсь, что тут есть юди кто подобным уже занимался, имел съожую проблему и успешно ее решил! Буду благодарен, и даже помогу финансово, если поможете решить эту проблему оперативно. Спасибо!
бампец
Расшифруйте пожалуйста
Rsync забанили? 2016, ftp...
VDS на Debian1. Php обработчик запускается кроном каждые три минуты.2. Успешно подключается к серверу3. Успешно авторизируется в фтп4. Успешно переходит в нужный каталог 5. Но выдает ошибку при перезаписи файла - в итоге файл оказывается пустым.Из 10 попыток примерно 5 всегда удачные 5 неудачные.
PHP коннекта$conn_id = @ftp_connect($ftp_ip, $ftp_port); if( $conn_id ) { $login_result = @ftp_login($conn_id, $row["login"], $row["password"]); if( $login_result ) { $chdir = @ftp_chdir($conn_id, $row["path"]); if( $chdir ) { if( $res = @ftp_put($conn_id, $remote_file, $local_tmp_configfile, FTP_BINARY) ) { $adm_mess = "Файл конфигурации успешно загружен на Сервере:" . $row["name"] . "<br />"; return $adm_mess; } $adm_mess = "Ошибка загрузки файла конфигурации. Сервер: " . $row["name"] . "<br />"; return $adm_mess; } $adm_mess = "Не могу перейти в каталог настроек. Сервер: " . $row["name"] . " " . ftp_pwd($conn_id) . "<br />"; return $adm_mess; } $adm_mess = "Ошибка авторизации фтп во время обновления конфигурации. Сервер: " . $row["name"] . "<br />"; return $adm_mess; } $adm_mess = "Не могу подключится к серверу для обновления конфигурации. Сервер: " . $row["name"] . "<br />"; return $adm_mess; }
думаю так будет понятнее
бампецкий
а вот лог крона результатов выполненияя кода за последние 30 мин
баспецкий
Конвфиг proftpd## /etc/proftpd/proftpd.conf -- This is a basic ProFTPD configuration file.# To really apply changes, reload proftpd after modifications, if# it runs in daemon mode. It is not required in inetd/xinetd mode.# # Includes DSO modulesInclude /etc/proftpd/modules.conf# Set off to disable IPv6 support which is annoying on IPv4 only boxes.UseIPv6 on# If set on you can experience a longer connection delay in many cases.IdentLookups offServerName "Debian"ServerType standaloneDeferWelcome offMultilineRFC2228 onDefaultServer onShowSymlinks onTimeoutNoTransfer 600TimeoutStalled 600TimeoutIdle 1200DisplayLogin welcome.msgDisplayChdir .message trueListOptions "-l"DenyFilter \./# Use this to jail all users in their homes DefaultRoot ~# Users require a valid shell listed in /etc/shells to login.# Use this directive to release that constrain.RequireValidShell offAuthUserFile /etc/proftpd/ftpd.passwdAuthGroupFile /etc/proftpd/ftpd.group# Port 21 is the standard FTP port.Port 21# In some cases you have to specify passive ports range to by-pass# firewall limitations. Ephemeral ports can be used for that, but# feel free to use a more narrow range.# PassivePorts 49152 65534# If your host was NATted, this option is useful in order to# allow passive tranfers to work. You have to use your public# address and opening the passive ports used on your firewall as well.# MasqueradeAddress 1.2.3.4# This is useful for masquerading address with dynamic IPs:# refresh any configured MasqueradeAddress directives every 8 hours<IfModule mod_dynmasq.c># DynMasqRefresh 28800</IfModule># To prevent DoS attacks, set the maximum number of child processes# to 30. If you need to allow more than 30 concurrent connections# at once, simply increase this value. Note that this ONLY works# in standalone mode, in inetd mode you should use an inetd server# that allows you to limit maximum number of processes per service# (such as xinetd)MaxInstances 30# Set the user and group that the server normally runs at.User proftpdGroup nogroup# Umask 022 is a good standard umask to prevent new files and dirs# (second parm) from being group and world writable.Umask 022 022# Normally, we want files to be overwriteable.AllowOverwrite on# Uncomment this if you are using NIS or LDAP via NSS to retrieve passwords:# PersistentPasswd off# This is required to use both PAM-based authentication and local passwords# AuthOrder mod_auth_pam.c mod_auth_unix.c# Be warned: use of this directive impacts CPU average load!# Uncomment this if you like to see progress and transfer rate with ftpwho# in downloads. That is not needed for uploads rates.## UseSendFile offTransferLog /var/log/proftpd/xferlogSystemLog /var/log/proftpd/proftpd.log# Logging onto /var/log/lastlog is enabled but set to off by default#UseLastlog on# In order to keep log file dates consistent after chroot, use timezone info# from /etc/localtime. If this is not set, and proftpd is configured to# chroot (e.g. DefaultRoot or <Anonymous>), it will use the non-daylight# savings timezone regardless of whether DST is in effect.#SetEnv TZ :/etc/localtime<IfModule mod_quotatab.c>QuotaEngine off</IfModule><IfModule mod_ratio.c>Ratios off</IfModule># Delay engine reduces impact of the so-called Timing Attack described in# http://www.securityfocus.com/bid/11430/discuss# It is on by default. <IfModule mod_delay.c>DelayEngine on</IfModule><IfModule mod_ctrls.c>ControlsEngine offControlsMaxClients 2ControlsLog /var/log/proftpd/controls.logControlsInterval 5ControlsSocket /var/run/proftpd/proftpd.sock</IfModule><IfModule mod_ctrls_admin.c>AdminControlsEngine off</IfModule>## Alternative authentication frameworks##Include /etc/proftpd/ldap.conf#Include /etc/proftpd/sql.conf## This is used for FTPS connections##Include /etc/proftpd/tls.conf## Useful to keep VirtualHost/VirtualRoot directives separated##Include /etc/proftpd/virtuals.conf# A basic anonymous configuration, no upload directories.# <Anonymous ~ftp># User ftp# Group nogroup# # We want clients to be able to login with "anonymous" as well as "ftp"# UserAlias anonymous ftp# # Cosmetic changes, all files belongs to ftp user# DirFakeUser on ftp# DirFakeGroup on ftp# # RequireValidShell off# # # Limit the maximum number of anonymous logins# MaxClients 10# # # We want 'welcome.msg' displayed at login, and '.message' displayed# # in each newly chdired directory.# DisplayLogin welcome.msg# DisplayChdir .message# # # Limit WRITE everywhere in the anonymous chroot# <Directory ># <Limit WRITE># DenyAll# </Limit># </Directory># # # Uncomment this if you're brave.# # <Directory incoming># # # Umask 022 is a good standard umask to prevent new files and dirs# # # (second parm) from being group and world writable.# # Umask 022 022# # <Limit READ WRITE># # DenyAll# # </Limit># # <Limit STOR># # AllowAll# # </Limit># # </Directory># # </Anonymous># Include other custom configuration filesInclude /etc/proftpd/conf.d/
>>141086801как мудак ошибки обрабатываешь, как будто пещеру копаешьif (!action){return error msg}..code_on_success..а по сабжу, эта хуйня в коды возврата не умеет чтоль? куда то он ж свои блядские ошибки должен кидать, ищи