Имя: Пароль:
1C
 
Попробовал бэкапить на яндекс-диск через WebDav+Curl
🠗 (Волшебник 29.06.2022 10:28)
,
0 Гений 1С
 
гуру
29.06.22
08:03
Потрясающе низкая скорость закачки. Погуглил, говорят яндекс-диск даже на платных тарифах не работает по WebDav.
Где нормально работает облако по WebDav? Мэйл.Ру? Нужно что-то отечественное, пусть и платное, но недорогое, там 20-50 мб на архивы максимум.
Отечественное, потому что забугорное сейчас сложно оплатить.
1 Ненавижу 1С
 
гуру
29.06.22
08:06
а как же серверная ферма в гараже?
2 Chai Nic
 
29.06.22
08:08
Уже два года как вебдав в яндексе задавили. Причем там система хитрая, не честный шейпинг канала, а паузы в передаче данных после закачки каждых скольки-то мегабайт, причем паузы тем больше, чем быстрее была скорость закачки. В результате если на меееедленном канале ещё есть шанс что-то залить, то на быстром канале соединение будет рваться по таймауту неактивности при попытке закачать хотя бы сотню мегабайт.
Для бэкапов яндекс предлагает платное Яндекс Облако, холодное хранилище с доступом по амазоновскому протоколу s3. В принципе недорого, но гемора больше. Для ларьков не удобно(
3 Гений 1С
 
гуру
29.06.22
08:09
(2) да я читал, вон Яндекс отвечает:

Скорость загрузки файлов на Диск, скачивания с него или обмена данными с Диском зависит только от скорости вашего соединения и настроек оборудования, дополнительные ограничения мы не устанавливаем.

Однако мы не можем гарантировать стабильную работу сторонних приложений, так как не участвуем в их разработке и настройке. Вы можете использовать любое официальное решение Яндекса.

У нас есть программа Яндекс Диск для Windows, macOS и Linux, приложения для Android и iOS и, конечно, сайт Диска.

Если вам не подходит ни одно из официальных решений, расскажите нам, почему именно. Обязательно учтём ваши замечания при работе над обновлениями!
4 vsad420
 
29.06.22
08:10
Вариант 1: арендуй хостинг, поставь туда nextcloud и организуй себе свое облако.
Вариант 2: Yandex Object Storage, S3 API и свою бэкапсистему сделай.

Но мозгов тебе скорей всего не хватит.
5 Гений 1С
 
гуру
29.06.22
08:14
(4) у меня много мелких клиентов. Неужели ничего готового нет? Облако от мйэла тоже дав придавило?
6 Chai Nic
 
29.06.22
08:21
(3) Ага, отвечать они могут как угодно. А по факту они создали специальную несовместимость своего вебдав-сервера со сторонними клиентами, чисто в коммерческих целях.
7 Amra
 
29.06.22
08:22
(5) ешкина медь, ставишь Обновлятор - стоит меньше штуки разово, настраиваешь бекапы по расписанию (да-да, он бекапить тоже умеет), хоть на меил, хоть на яндекс, и он в фоновом режиме все заливает
8 NorthWind
 
29.06.22
08:27
(0) на платных не знаю, на бесплатных еще несколько лет назад пробовал - понемножку (метров по 100) можно, на файлах больше 300М стабильно рвет соединение.
9 Гений 1С
 
гуру
29.06.22
08:27
(7) и как обновлятор преодолевает искусственный Webdav барьер яндекса?
10 NorthWind
 
29.06.22
08:27
через много мелких файлов обойти нельзя - рвет на третьем-четвертом.
11 Chai Nic
 
29.06.22
08:28
Для ларька проще поставить приложение яндекс диск, а его синхронизируемую папку заменить симлинком на папку с архивами. Количество архивов там держать с учетом объема яндекс диска, включая корзину.
12 NorthWind
 
29.06.22
08:28
(9) ну может долбится постоянно и за сутки там или за двое продавливает
13 Chai Nic
 
29.06.22
08:28
(9) Никак. Там предлагается использовать s3 хранилище яндекса.
14 Гений 1С
 
гуру
29.06.22
08:29
(11) ну там не совсем ларек и есть сервак, где надо бэкапить даже когда пользователь не вошел в систему. я с этим на dropbox уже обжигался, ставил их клиента, а он работает, только если вошли в систему. curl можно запускать и без входа пользователя в систему, по регламентному заданию.
15 Amra
 
29.06.22
08:30
(9) Не в курсе, тут на форуме была ветка автора, можешь там спросить, или напрямую ему написать. У меня то обновлятор на платное фтп сотню Гб каждую ночь наливает. НО в настройках видел облака и яндекса, и меила
16 Гений 1С
 
гуру
29.06.22
08:30
(13) я больше у Amra спрашивал. Походу он не понимает, что проблема не в софте, а в Яндексе. ;-)
(12)
думаю, это твои фантазии про обновлятор.
нах такое облако как яндекс. Ищу короче платное, небольшое и с работой по webdav
17 NorthWind
 
29.06.22
08:31
(15) а, ну то есть не вполне понятно, работает или нет.
18 Гений 1С
 
гуру
29.06.22
08:31
(15) счас FTP умирает, в моде Webdav
19 Ненавижу 1С
 
гуру
29.06.22
08:31
(14) Все что файловое - это ларек
20 Гений 1С
 
гуру
29.06.22
08:31
(15) иметь в настройках облака еще не значит, что данные туда зальются
21 Гений 1С
 
гуру
29.06.22
08:31
(19) это слова Б.Нуралиева?
22 NorthWind
 
29.06.22
08:32
(16) как найдешь, расскажи. Тоже интересно. Все что я видел с нормальными протоколами закачки и без дебильных "приложений" - очень дорогое.
23 Amra
 
29.06.22
08:32
(17) Ну сам не юзал, признаю
24 Amra
 
29.06.22
08:35
(22) А "дорогое" это почем?)
25 NorthWind
 
29.06.22
08:35
(23) дело в том что у яндекса оно реально странно работает. У меня есть подозрение, что они как-то анализируют что им закачивают, и если это какой-то неинтересный бинарник вроде архива с серьезным паролем или еще чего-то такого, то они не особо горят желанием такой контент принимать. Им надо что-нибудь такое, что можно поанализировать и потом на этом заработать, например, изображения там...
26 NorthWind
 
29.06.22
08:36
по крайней мере на бесплатном тарифе
27 Chai Nic
 
29.06.22
08:37
(16) Ну можно и на яндекс хранилище заливать по s3 консольной командой. Я как-то экспериментировал. Реально вполне. Но конечно не так удобно, как раньше с вебдав.
(25) Неа, им пофиг на содержимое. Даже фоточки и то через вебдав на закинешь в объеме больше сотни мег. Через веб-сайт - без проблем, любые объемы. Через синхронизацию приложения - тоже.
28 Aleksey
 
29.06.22
08:37
(18) Кто сказал?
29 Гений 1С
 
гуру
29.06.22
08:39
(23) ну я могу у Милькина спросить, но не думаю, что он пытается продавливать на Яндекс.
30 NorthWind
 
29.06.22
08:39
(28) Геня :)) На самом деле чистый FTP может и да, потому что несекьюрно. Но есть же еще FTPS и SFTP
31 Chai Nic
 
29.06.22
08:40
(28) Ну, как бы ftp морально устаревший протокол, требующий связи между клиентом и сервером по двум tcp-коннектам. От него стараются уйти по возможности.
32 Гений 1С
 
гуру
29.06.22
08:41
(30) ну я не буду спорить о модах. но что-то про использование SFTP для бэкапа практически не слыхал. А вот Webdav часто на слуху
33 Aleksey
 
29.06.22
08:42
(31) А кто старше ftp протокол  или http?
Может пора и от интернета отказаться, ведь он использует устаревший протокол?
34 Мимохожий Однако
 
29.06.22
08:43
(28) Гений сказал
35 Amra
 
29.06.22
08:43
(29) Думаю если не работает работа с яндексом и меолом, то он признает это, производит впечатление такое. Так что спроси. Тебе не пофиг, по какому протоколу данные забекапятся?
36 Chai Nic
 
29.06.22
08:43
(33) http не требует извращений с активно-пассивными режимами соединений
37 stix2010
 
29.06.22
08:44
(0) Через api  все качается быстро, на платных картина та же, zip и т.д. проверяется, onescript yandex disk, были реализации через 1с на инфостарте
38 Гений 1С
 
гуру
29.06.22
08:49
(37) через API яндекса? не годится, там слишком долгие игры в OAuth2, слишком геморно.
39 stix2010
 
29.06.22
08:50
(38) Ну ну
// Процедура - Загрузить обновить файл на яндекс диске
//
// Параметры:
//  token         -      Строка, токен для авторизации
//  path         -      Путь, по которому следует загрузить файл. Например, /Fbar (Имя папки)/photo.png. Максимальная длина имени загружаемого файла — 255 символов; максимальная длина пути — 32760 символов.
//    Если файл необходимо загрузить в корень диска, то следует передать только имя файла в формате /photo.png
//  overwrite     -      булево, признак перезаписи файла. Учитывается, если файл загружается в папку, в которой уже есть файл с таким именем.
//  ПутьКФайлуДляЗагрузки     -      путь к файлу, который необходимо загрузить на диск
//
Процедура ЗагрузитьОбновитьФайлНаЯндексДиске(token, path, overwrite, ПутьКФайлуДляЗагрузки, РезультатЗагрузки)
    
    //Параметры Get запроса для получения URL {{
    path = "disk:" + СтрЗаменить(path,"/","%2F");
    overwrite = ?(overwrite, "true", "false");
    //Параметры Get запроса для получения URL }}
    
    Заголовки = Новый Соответствие;
    Заголовки.Вставить("Content-Type", "application/x-www-form-urlencoded");
    Заголовки.Вставить("Authorization","OAuth " + token);
    ЗащищенноеСоединение = Новый ЗащищенноеСоединениеOpenSSL(Неопределено, Неопределено);
    
    //Получение URL для загрузки {{
    HTTPЗапрос = Новый HTTPЗапрос("/v1/disk/resources/upload?path=" + path + "&overwrite=" + overwrite, Заголовки);
    
    Соединение = Новый HTTPСоединение("cloud-api.yandex.net",,,,,, ЗащищенноеСоединение);
    
    Результат = Соединение.Получить(HTTPЗапрос);// GET запрос для получения URL
    //Получение URL для загрузки }}
    
    Если Результат.КодСостояния <> 200 Тогда
        
        ВызватьИсключение "Ошибка при получении URL для загрузки." + Символы.ПС + Результат.ПолучитьТелоКакСтроку();
        
    Иначе
        Сообщение = "URL для загрузки файла получен успешно." + Символы.ПС + Результат.ПолучитьТелоКакСтроку();
        Сообщить(Сообщение);
        ЗаписатьСобытиеВРегистр("Получение URL ",Сообщение);
        

        ЧтениеJSON = Новый ЧтениеJSON;
        ЧтениеJSON.УстановитьСтроку(Результат.ПолучитьТелоКакСтроку());
        
        СоответствиеРезультат = ПрочитатьJSON(ЧтениеJSON, Истина);
        
        СсылкаДляЗагрузки = СоответствиеРезультат.Получить("href");
        
        СсылкаДляЗагрузки = СтрЗаменить(СсылкаДляЗагрузки, "https://", "");
        
        ИмяСервера = Лев(СсылкаДляЗагрузки, СтрНайти(СсылкаДляЗагрузки, "/") -1);
        
        СсылкаДляЗагрузки = СтрЗаменить(СсылкаДляЗагрузки, ИмяСервера, "");
        
        //Загрузка файла на полученный URL {{
        HTTPЗапрос = Новый HTTPЗапрос(СсылкаДляЗагрузки, Заголовки);
        HTTPЗапрос.УстановитьТелоИзДвоичныхДанных(Новый ДвоичныеДанные(ПутьКФайлуДляЗагрузки));
        
        Соединение = Новый HTTPСоединение(ИмяСервера,,,,,, ЗащищенноеСоединение);
        
        Результат = Соединение.Записать(HTTPЗапрос);// PUT запрос        
        //Загрузка файла на полученный URL }}
        
        Если Результат.КодСостояния <> 201 Тогда
            
            ВызватьИсключение Результат.ПолучитьТелоКакСтроку();
            
        Иначе
            Сообщение = "файл успешно загружен.";
            Сообщить(Сообщение);
            ЗаписатьСобытиеВРегистр("Получение URL ",Сообщение);
            РезультатЗагрузки =  "ok";
        КонецЕсли;
                            
    КонецЕсли;
    
КонецПроцедуры
40 Гений 1С
 
гуру
29.06.22
08:51
(39) спасибо, я в курсе как работает Oaut 2.0, тем более что ты забыл приложить код по получению самого приложения, разрешения и доверия приложению.
41 Гений 1С
 
гуру
29.06.22
08:53
(39) Кстати в коде есть "cloud-api.yandex.net", т.е. с яндекс-диском яндекс работает через свое Яндекс-облако.
42 stix2010
 
29.06.22
09:00
(40) токен создается в аккаунте ручками
43 Kassern
 
29.06.22
09:12
(32) у меня на одном проекте используется SFTP для бекапов и не только, но есть одно но, 1ска не умеет в SFTP, поэтому надо ее полюбить с библиотекой которая умеет. В итоге все быстро и четко работает уже который год. Ничего сложного в этом нет.
44 stix2010
 
29.06.22
09:15
45 Гений 1С
 
гуру
29.06.22
09:19
(42) вот за "ручки" бить надо. Мы же за автоматизацию, не? гггг
46 Гений 1С
 
гуру
29.06.22
09:19
(43) дык кто же спорит, что существуют в мире извращения. Как бы это очевидно.
47 stix2010
 
29.06.22
09:31
(45) Обратитесь к разработчикам api
48 Волшебник
 
29.06.22
09:33
(0) Заведите локальную папку Яндекс.Диска. Копируйте в папку (это быстро), а закачку доверьте фоновому процессу.
49 Kassern
 
29.06.22
09:35
(46) ничего извратного в этом нет, просто более защищенный протокол, а сторонняя библиотека раза в 2 у меня ускорила передачу данных, по сравнению с дефолтным Новый FTPСоединение.
50 NorthWind
 
29.06.22
09:36
(33) так практически уже... Сайт на http нужно еще постараться найти. https же!
51 Kassern
 
29.06.22
09:36
(48) геня боится, что синхронизация может не сработать, если юзвер в систему не войдет
52 Гений 1С
 
гуру
29.06.22
09:36
(48) Волшебник ты видимо пропустил, что дело проходит на серваке, где яндекс-диск может быть и не запущен. Ты же в курсе, бывают задания из планировщика, которые вполняются даже если пользователь не вошел в систему.
53 Kassern
 
29.06.22
09:40
(52) а еще могут свет отрубить, или уборщица тетя Клава легким нажатием ноги вырубить сервак. Поэтому уборку серверной тоже на себя переложите, еще и подстанцию резервную клиенту предложите)
Скорее всего ценность файловой базы клиента минимальная, вангую крутится на обычном компе который гордо обозвали сервером.
54 NorthWind
 
29.06.22
09:41
(32) я думаю, это потому, что ты серьезные дорогостоящие корпоративные облака не заказывал ни для кого. Там у них много чего есть.
55 YFedor
 
29.06.22
09:54
(52) Я запускаю клиент облака под нужным пользователем через планировщик каждые 5 минут
56 Волшебник
 
29.06.22
09:54
(52) Запустите Яндекс.Диск на сервере. Не создавайте себе проблем, чтобы потом героически их решать.
57 Гений 1С
 
гуру
29.06.22
10:16
(51) там по статистике 50% времени не заходит админ на сервер
58 Гений 1С
 
гуру
29.06.22
10:17
(53) ты сравниваешь маловероятные события и регулярные. Незнаю, зачем.
(56) Как, Волшебник, поясни? Если на сервере яндекс диск запускается только при залогиненном пользователе? Внимательно слушаю. Я эту задачу уже пару лет пытаюсь решить - как запускать приложения, которые работают только при логине. А тут такой Митичкин показывает как это делать "по-волшебному".
59 Волшебник
 
29.06.22
10:18
(58) Сергей, залогиньтесь. Ну что Вы как маленький.
60 sikuda
 
29.06.22
10:20
(58) А зачем тебе  WebDav используй api из 1С. https://infostart.ru/public/343316/
А вообще как всегда - угадай автора по теме...
61 lodger
 
29.06.22
10:21
62 Kassern
 
29.06.22
10:21
(58) "ты сравниваешь маловероятные события и регулярные. Незнаю, зачем" - я лишь хочу показать, что вы не ту задачу решаете. Ее можно административно решить, нет смысла ее дальше автоматизировать, решая множества "а вдруг". Пускай клиент, или кто-то из его подчиненных, раз в недельку проверяет, что бекапы делаются, либо письмо отправляйте о том что бекап успешно сделан, нет письма, значит нет бекапа, либо с почтовиком проблема. Лучше клиенту помогите бизнес автоматизировать, чтобы он до скульной базы смог дорасти.
Ваши (или клиента) текущие хотелки из серии, вот у меня есть 100 рублёв, давайте потратим неделю времени, переберем сотню банков, где выгоднее и безопаснее их вложить)
63 lodger
 
29.06.22
10:24
(32) >> Webdav часто на слуху
твой слух отстал от реальности лет на 5.
64 Гений 1С
 
гуру
29.06.22
10:24
(59) понятно, товарищ волшебник, вы слились. Кто там логинитьс будет? Для чего автоматизация, если нужно логиниться для бэкапа. Эх, вы, Волшебник
65 Гений 1С
 
гуру
29.06.22
10:24
(60) API из 1С имеет сложность с созданием приложения, предоставления доступа и т.п. ИЗ пушки по воробьям, проще облако найти поддерживающее webdav
66 big
 
29.06.22
10:25
ЕМНИП у Яндекс.Диска объём не особо нормальный получается в соотношении размер/стоимость. С увеличением объёма стоимость довольно ощутимая. Но могу уже и ошибаться, ибо 2 года назад дело было. Сделал на Object.Storage, объём до 100 Гб, денег просит немного.
67 Гений 1С
 
гуру
29.06.22
10:25
(62) при чем проверка создания бэкапов к организации бэкапа? Опять вас не понимаю.
68 sikuda
 
29.06.22
10:25
(65) webdav это костыль используемый только для того если у тебя нет других вариантов...
69 Гений 1С
 
гуру
29.06.22
10:27
(66) по WebDav?
(68) А что правильные пацаны используют?
70 arsik
 
гуру
29.06.22
10:27
(65) У яндекса для Линукса есть консольный клиент. Его можно использовать или через виндовый Wsl или наверно через Cygwin.
71 Гений 1С
 
гуру
29.06.22
10:27
(70) а вы аппендикс через очко удалять не пробовали?
72 Волшебник
 
29.06.22
10:28
(64) Залогиньтесь в другом сеансе.

Короче, я понял. Геня насоздавал себе проблем, потом пытается удалить аппендикс через очко
73 Kassern
 
29.06.22
10:28
(67) вот вы пишите, а вдруг юзвер не зайдет, под которым у вас регламент запускается. Следовательно перестанут делаться бекапы. Все верно? В случае проверки создания бекапов, ответсвенный сотрудник увидит, что нет уведомлений о бекапах и нажмет волшебный ярлычок, обмены пойдут дальше. Даже если вы потеряете несколько дней бекапов это не страшно, так как у вас база не имеет особой ценности, при желании тетя Клава за пару часов все накладные заведет.
74 big
 
29.06.22
10:29
(69) Нет конечно же, какой ВебДав?? Там можно на REST.Api ваять, но я тупо сделал - через консоль AWS, потому как через API надо было в запросах использовать хэш SHA256. Не знаю как сейчас, я 2 года назад делал (если не 3)
75 arsik
 
гуру
29.06.22
10:29
(71) Ну не я же юзаю "WebDav+Curl"
76 sikuda
 
29.06.22
10:30
(72) Он просто веселит народ!
Сережа так и не освоил 1Script https://github.com/kuntashov/oscript-yadisk?ysclid=l4z9zd3z7a841416511
77 Garykom
 
гуру
29.06.22
10:30
Тащить софт от яндекса и прочих облаков на сервер это такое себе решение
78 IVT_2009
 
29.06.22
10:31
Как в nextcloud например развести пользователей по папкам, что бы они не видели все хранилище ?
79 Волшебник
 
29.06.22
10:32
(76) При этом ведёт себя по-хамски, как будто он самый умный, а все тупые, не понимают его проблему, не знают решения его дурацких задачек.
80 big
 
29.06.22
10:33
(77) Если это мне, то я согласен. Ну, не смог я из скрипта нужный хэш посчитать
81 Chai Nic
 
29.06.22
10:35
(76) В чем удовольствие изучать очередной костыль для функции, которая намного проще решается другими способами?
82 sikuda
 
29.06.22
10:42
(81) Это понятно, но на форуме 1С как-то принято давать решения близкие к 1С, а то волшебник может и забанить например за рекламу Flutter ;)
https://1cers.ru/users_photo/102259.jpg
83 stix2010
 
29.06.22
10:45
Интересно, кто нибудь ему NAS  предлагал купить?  А Яндекс Диск ставится службой, если погуглить.
84 Гений 1С
 
гуру
29.06.22
10:45
(79) Волшебник, а что делать, если это так и есть. А какой критерий "дурацких" задачек? гггг
85 Гений 1С
 
гуру
29.06.22
10:47
(75) это нормально.
86 Гений 1С
 
гуру
29.06.22
11:41
Попробовал облако мэйл - 2 Мбайта в секунду супротив 2 кбайт в секунду на яндексе., 5 гигов будет литься 40 минут. Норм.
87 Гений 1С
 
гуру
29.06.22
12:14
Правда на мэйле файлы в 2 Гб ограничены. так что нет.
88 Tatitutu
 
29.06.22
12:30
REST API

https://clck.ru/rfQew

все отлично = выгрузает /загружает - скорость ОГОНЬ !
89 Гений 1С
 
гуру
29.06.22
15:03
(88) тоже мне открыл америку, ггг. И че, пользователи ломанулись регистрировать приложения вместо простого логин/пароль? Лучше поищу альтернативу Яндексу.
Кстати, вот ответ их техподдержки:

Сергей, с вашего позволения, напомню, что с нашей стороны нет ограничений по скорости загрузки файлов через WebDAV. Наши приложения активно используют протокол WebDAV — если бы были сложности, они просто не смогли бы корректно работать.

При этом мы не гарантируем корректное функционирование сторонних приложений, основанных на WebDAV и API Диска, и не оказываем по ним технической поддержки. Рекомендуем для загрузки и скачивания файлов использовать официальные решения Яндекса.
90 Злопчинский
 
30.06.22
00:36
(5) я ХЗ. Поставил на комп О-Диск от майл.ру
тупо копирую туда что надо и все.
91 Злопчинский
 
30.06.22
00:37
(86) 40 мин.. а тут хреняк свет отрубили в доме... или провайдер обновление прошивки заливает... и пипец.. наоборот имеет смысл делить хотя бы мег по 300 имхо
92 NorthWind
 
30.06.22
08:33
(24) зависит от объема. https://selectel.ru/services/cloud/storage/
5 терабайт около десятки в месяц будет.
93 Гений 1С
 
гуру
30.06.22
08:45
(92) ок, написал им запрос. Не очень понял, что такое исходящий траффик.
94 lodger
 
30.06.22
18:10
(93) исходящий траффик - в твоём юз-кейсе это сколько весит 2-3 шт бекапа, которые ты скорее всего будешь скачивать с них для каких-то откатов, тестов, копий базы.
95 big
 
30.06.22
20:09
(93) Про всё то же самое, только от Яндекса, я написал тебе в (66) и (74). Среди общих воплей не обращаешь внимания? ))