Webmin is a web based tool for Linux, it helps to manage the services like DNS, DHCP, MySQL server, PostgrSQL and other networking services. It also helps to manage the user, disk, file system, process, packages, etc.. This post will guide you to install Webmin on CentOS 7.
Create repo for webmin.
Place the following content.
Download webmin gpg key.
Import key.
Install webmin.
Start the webmin.
Auto start webmin at system startup.
Webmin listens on port no 10000, allow it on firewall.
Now open up a browser and visit your-ip-address:10000, you will be asked to enter username and password. Use root username and password.
![Webmin System Information](http://www.itzgeek.com/wp-content/uploads/2014/08/CentOS-7-Webmin-home-page.jpg)
Получаем список разделов:
Disk /dev/sda: 1500.3 GB, 1500301910016 bytes
64 heads, 32 sectors/track, 1430799 cylinders
Units = cylinders of 2048 * 512 = 1048576 bytes
Sector size (logical/physical): 512 bytes / 512 bytes
I/O size (minimum/optimal): 512 bytes / 512 bytes
Disk identifier: 0x49e2fd2f
Device Boot Start End Blocks Id System
/dev/sda1 5 900 917504 5 Extended
/dev/sda2 901 4995 4193280 6 FAT16
/dev/sda3 4996 1430501 1459718144 fb VMware VMFS
/dev/sda4 * 1 4 4080 4 FAT16 <32M /dev/sda5 5 254 255984 6 FAT16 /dev/sda6 255 504 255984 6 FAT16 /dev/sda7 505 614 112624 fc VMware VMKCORE /dev/sda8 615 900 292848 6 FAT16 Partition table entries are not in disk order
Нужен нам /dev/sda3 так как раз в нем лежат данные, его тип: VMware VMFS.
Монтируем:
Вуаля:
ls -al /mnt
total 4.0K
drwxr-xr-t 14 root root 2.6K 2011-03-17 09:28 .
drwxr-xr-x 21 root root 4.0K 2011-04-14 22:18 ..
drwxr-xr-x 2 root root 1.8K 2011-04-13 16:51 bura.draugiem.lv
drwxr-xr-x 2 root root 2.5K 2011-04-13 16:52 bura.odnoklasniki.ru
-r-------- 1 root root 7.1M 2010-11-26 22:04 .fbb.sf
-r-------- 1 root root 61M 2010-11-26 22:04 .fdc.sf
drwxr-xr-x 2 root root 2.2K 2011-04-13 16:50 IPpool
drwxr-xr-x 3 root root 420 2011-02-02 17:34 ISO
drwxr-xr-x 2 root root 2.1K 2011-04-13 16:51 ns2.hostpapa.lv
-r-------- 1 root root 244M 2010-11-26 22:04 .pbc.sf
-r-------- 1 root root 249M 2010-11-26 22:04 .sbc.sf
drwxr-xr-x 2 root root 560 2011-01-11 11:36 scripts
-r-------- 1 root root 4.0M 2010-11-26 22:04 .vh.sf
drwxr-xr-x 2 root root 2.4K 2011-04-13 16:51 VM1
drwxr-xr-x 2 root root 1.7K 2011-03-17 10:05 VM-2011 Suse 11.3
drwxr-xr-x 2 root root 1.6K 2011-04-13 16:51 +Ww-VM-1006+XQ- bura.mysql
drwxr-xr-x 2 root root 560 2011-01-13 18:02 xen1
drwxr-xr-x 2 root root 1.6K 2010-12-06 14:43 zole.draugiem.lv
drwxr-xr-x 2 root root 2.2K 2011-04-13 16:51 zole.draugiem.lv_1
root@Ubuntu-1010-maverick-64-minimal:~# df -h
Filesystem Size Used Avail Use% Mounted on
/dev/sdc3 1.4T 1.2G 1.3T 1% /
none 5.9G 268K 5.9G 1% /dev
none 5.9G 0 5.9G 0% /dev/shm
none 5.9G 40K 5.9G 1% /var/run
none 5.9G 0 5.9G 0% /var/lock
/dev/sdc2 251M 34M 205M 15% /boot
/dev/fuse 1.4T 439G 954G 32% /mnt
Часто спрашивают: «Что необходимо делать, если оператор отлучается, а вызовы считаются пропущенными?» Ответ довольно прост: «Оператор ставит себя на паузу, а по приходу снимает с паузы».
1. Как правильно строить работу операторов по приходу и уходу
2. Добавление диалплана в FreePBX
1. Как правильно строить работу операторов по приходу и уходу со своего рабочего места?
Если логика обработки вызовов отличается от «звонить всем», то чтобы не было холостых попыток вызова оператора, когда он куда-то вышел, необходимо сообщать об этом IP-АТС. Наиболее часто встречаемый и в то же время неправильный способ это когда ставят функцию DND на самом телефоне. Но надо понимать, что IP-АТС об этом ничего не знает и каждый раз пытается вызвать оператора, но получает отбой BUSY и в статистике появляются много вызовов занято. Другой вариант более предпочтительный: когда сам оператор добавляет себя в очередь обработки вызовов и выходит из очереди. Тогда супервизор видит, кто из операторов на месте, а кого нет. Те кто покинул очередь, в обработке вызовов не участвуют и вызовы впустую не бегают по очереди в поисках оператора, который сейчас на месте. Каждый вызов идет оператору, который готов принять вызов. Такой способ довольно хороший, но есть один минус. Непонятно пришел (или может уже ушел) оператор на работу (с работы) или просто отошел по своим делам. Самым правильным алгоритмом является следующий:
- оператор пришел на работу и вошел в очередь или очереди;
- если оператору необходимо сделать перерыв в работе, он ставит свой телефон «на паузу» на IP-АТС, набрав специальный код;
- вернувшись с перерыва, оператор снимает свой аккаунт с паузы другим кодом;
- когда оператор уходит домой, то выходит из очереди совсем.
При таком подходе в статистике все красиво: видно время прихода на работу, все перерывы оператора, когда оператор ушел с работы. Также онлайн супервизор может видеть полную картину: кто из операторов на работе, кто на перерыве, кто уже ушел с работы.
2. Добавление диалплана в FreePBX
Чтобы можно было осуществлять функции поставить на паузу/снять с паузы, необходимо добавить диалплан в файлы конфигурации FreePBX и применить настройки.
В файл extensions_custom.conf добавляем следующий диалплан:
[from-internal-custom]
exten => *101,1,Macro(agent-pause)
exten => *102,1,Macro(agent-unpause)
[macro-agent-pause]
exten => s,1,Answer
exten => s,1,Wait(1)
exten => s,n,Macro(user-callerid,SKIPTTL,)
exten => s,n,Set(CALLBACKNUM=${AMPUSER})
exten => s,n,PauseQueueMember(,Local/${CALLBACKNUM}@from-queue/n)
exten => s,n,QueueLog(NONE,${UNIQUEID},${DB(AMPUSER/${CALLBACKNUM}/cidname)},AGENTPAUSED)
exten => s,n,UserEvent(RefreshQueue)
exten => s,n,Wait(1)
exten => s,n,Playback(extension)
exten => s,n,Playback(dictate/paused)
exten => s,n,Wait(1)
exten => s,n,Hangup
; end of [macro-agent-pause]
[macro-agent-unpause]
exten => s,1,Answer
exten => s,1,Wait(1)
exten => s,n,Macro(user-callerid,SKIPTTL,)
exten => s,n,Set(CALLBACKNUM=${AMPUSER})
exten => s,n,UnpauseQueueMember(,Local/${CALLBACKNUM}@from-queue/n)
exten => s,n,QueueLog(NONE,${UNIQUEID},${DB(AMPUSER/${CALLBACKNUM}/cidname)},AGENTUNPAUSED)
exten => s,n,UserEvent(RefreshQueue)
exten => s,n,Wait(1)
exten => s,n,Playback(dictate/pause)
exten => s,n,Playback(cancelled)
exten => s,n,Wait(1)
exten => s,n,Hangup
; end of [macro-agent-pause]
Теперь по *101 оператор ставит себя на паузу, а по *102 — снимает с паузы.
Примечание: ответственность за этими действиями возлагается на оператора или супервизора
Часто, по разным причинам, возникает необходимость обзвонить определенны номера абонентов и проинформировать их о чем-либо. С такой задачей легко справится Astrisk. Для этого разработчики предусмотрели несколько вариантов, я хочу рассказать как это сделал используя незамысловатую логику в скрипте и call файлы.
И так начнем с исходного: Имеется Asterisk 11 + Freepbx 2.11 на ОС Debian 7. Разумеется все работает
.call файл - это текстовые файлы, которые при помещении их в определенную директорию (по умолчанию /var/spool/asterisk/outgoing/) заставляют Asterisk совершить исходящий вызов.
Для начала создадим такой файл, я назвал его osnova.call и вот его содержимое:
Channel: Local/123456@from-internal
Callerid: Asterisk 11 <Ваш DID>
MaxRetries: 5
RetryTime: 10
WaitTime: 15
Account: obzvon
Context: from-obzvon
Extension: obzvon
Archive: Yes
Пояснилка:
Channel: : Канал, который будет использоваться для исходящего вызова.- если у вас freepbx то вместо 123456 указывайте номер на который собираетесь звонить. В результате такой хитрой строчке вы сможете наблюдать человеческие записи в CDR и да же их прослушивать при необходимости.
CallerID: Name - ваш номер телефона, с которого осуществяется обзвон
MaxRetries: Количество попыток перед тем, как вызов будет считаться неудачным (не включая первую попытку, т.е. 0 = означает совершить 1 попытку вызова). Значение по умолчанию: 0.
RetryTime: Количество секунд между попытками вызова, не стоит очень часто ломиться на недоступный телефон. Значение по умолчанию: 300 (5 минут)
WaitTime: Количество секунд для ожидания ответа на вызов. Значение по умолчанию: 45.
Account: Установка поля “account code”для записи в CDR
Context: Контекст в файле extensions.conf - не забываем что у нас freepbx, а это значит что запись надо искать тут /etc/asterisk/extensions_custom.conf
Extension: Название екстеншена в extensions.conf - не забываем что у нас freepbx, а это значит что запись надо искать тут /etc/asterisk/extensions_custom.conf
Archive: Yes/No – Переносить или нет .call файл в поддиректорию "outgoing_done" с установленным значением поля "Status: значение", где значение может быть: Completed, Expired или Failed.
Вся необходимая информация мною была взята
Ну все, с самим call файлом разобрались, теперь добавляем в /etc/asterisk/extensions_custom.conf следующее:
[from-obzvon]
exten => obzvon,1,Answer()
exten => obzvon,n,Playback(hello-world)
exten => obzvon,n,Wait(3)
exten => obzvon,n,Playback(vm-goodbye)
exten => obzvon,n,Hangup()
В моем случаи астер будет звонить, ждать когда поднимут трубку, воспроизводить фразу hello-world, ждать 3 секунды, воспроизводить фразу vm-goodbye и ложить трубку. Вы можете в этом контексте наворотить что угодно вплоть до голосового меню и пере адресацией на другой номер. Дело за вами.
И не забываем сделать релоуд астеру. Готова, проверяем берем наш файл osnova.call, заменяем в нем номер на тестовый и Внимание делаем mv(а не cp)
mv osnova.call /var/spool/asterisk/outgoing/
Важно: владелец файл должен быть пользователь аналогичный тому от имени которого работает сам астериск.
Берем трубку и слушаем hello-world и vm-goodby.
Хочу обратить внимание, что использовалась команда mv, т.к. астериск с разницей в доли секунд начинает обработку файлов из директории outgoing, а команда cp и mv работают по разному. Видимо cp копирует как-то побайтно байт за байтом создавая файл в директории назначения, в то время как mv сначала переносит всю информацию в директорию, а потом публикует файл там. В общем это рекомендации разработчиков и к ним стоит прислушаться.
После окончания звонка, астер переместит файл в директорию /var/spool/asterisk/outgoing_done и можно будет просмотреть статус выполнения, если конечно вам мало CDR записи.
Если до этого момента у вас все получилось переходим к созданию скрипта. Для начала создадим файл number.txt, где в каждой строчке напишем номера телефонов, ктр нужно обзвонить. Затем создадим сам скрипт с таким содержимым:
#!/bin/bash
number=`cat number.txt`
#find /var/spool/asterisk/outgoing_done/ -ctime +62 -type f -exec rm -f {} \;
echo "Start parsing file number.txt `date "+%T %D"`"
for a in $number
do
SED=s/123456/$a/
DATA=`date +%N`
cat osnova.call | sed $SED > "$a"_"$DATA".call
chown asterisk. $PWD
echo "Zvonyu na $a `date "+%T %D"`"
mv "$a"_"$DATA".call /var/spool/asterisk/outgoing/
sleep 60
done
echo "Finish parsing file number.txt `date "+%T %D"`"
exit 0
Обратите внимание на sleep 60, это делается для того, что бы напроч не забить внешнии каналы и не повесить астериск нагрухо.
У меня в файле number.txt около 60 номеров, все работает как часы. Нужно лишь либо запустить скрипт в ручную либо добавить задание в планировщик и периодически наблюдать как астер домогается до выбранных вами номеров телефонов
Эксперимент
- Собрали списки существующих CRM, отзывы на них, просмотрели сайты и цены.
- Определили свои цели и собрали требования: CRM должна быть операционной, рассчитанной на ведение клиентов, сделок, цикла продаж, базы, на планирование и контроль за действиями менеджеров, построение внятных и быстрых отчетов.
- Установили мне (администратору) и менеджерам бесплатные версии на тестирование.
- Установили демо-версии выбранных CRM и работаем на них.
Рассказ получается длинным, поэтому в первой части обзора для Хабра решено рассмотреть бесплатные однопользовательские версии выбранных CRM.
![image](https://habrastorage.org/getpro/habr/post_images/819/f81/d9c/819f81d9c43cc33529ce3c3e7b7a5bf2.jpg)
Сделай сам
В эту категорию попали программы, которые предоставляют пользователю максимальную возможность создания наборов данных, наполнения справочников, формирования отчетов и пожертвовавшие ради этого сколь-нибудь юзерфрендли интерфейсом.
Galloper CRM — достаточно продуманная система с обширным функционалом и, как и предполагает логика этой группы, никаким интерфейсом. В принципе, при должном старании и умении работать с СУБД (хотя бы MS Access), Galloper можно доработать под нужды бизнеса любого профиля. Здесь настраивается с нуля или почти с нуля всё: справочники, маршруты продаж, события, активности, настройки напоминаний и проч… Карточка клиента имеет огромный набор полей с возможностью дополнительной кастомизации. В системе предусмотрено множество отчетов по продажам, товарам, активностям, воронка продаж.
![image](https://habrastorage.org/getpro/habr/post_images/229/b15/ec9/229b15ec9bd9fc40d82e4e14b088dc8f.jpg)
Из очевидных минусов — непрозрачность логики создания многих полей и медленная работа при мало-мальски серьезном наполнении базы. Создалось ощущение, что эта система рассчитана все-таки на компании с небольшой клиентской базой.
Supasoft CRM изначально позиционируется как платформа для разработки персональных конфигураций, поэтому и вид «конструктора» принимает образ фишки. Анонсированная на сайте простота интерфейса представляет собой в реальности пустое окно после запуска с простым и доступным меню. В этой CRM нет личного планировщика, дел, задач, отслеживания действий менеджера, однако просто создаются формы для учета товаров, продаж, клиентов. В Supasoft можно строить отчеты с самым широким набором параметров, организуя по шаблону свои сводные таблицы.
![image](https://habrastorage.org/getpro/habr/post_images/4f7/870/27d/4f787027d3400850c9f63787db6ccca3.jpg)
В целом, Supasoft CRM — это прекрасная альтернатива MS Excel. Она неплохо организована и при грамотном подходе с ней можно спокойно работать как с базой товаров, услуг, клиентов и сделок.
Политика девелоперов этих CRM-решений не совсем понятна с точки зрения инженера и абсолютно прозрачна с точки зрения маркетинга. Другие бесплатные CRM предоставляют гораздо более богатые возможности и при этом дают красивый и удобный интерфейс. Пользователи CRM – это, как правило, менеджеры, далекие от мира IT и их просто пугают пустые, скучные поля, которые нужно «допиливать». Хотя мне, как менеджеру по IT, очень понравилось доводить эти «легкие» CRM до ума, но just for fun.
Чужой среди своих
Monitor CRM – эта CRM стоит особняком только потому, что она слишком избыточна для целей управления клиентами. Это функциональная, продуманная аналитическая CRM, однозначно заслуживающая отдельного внимания. К сожалению, сайт не допускает скачку их бесплатной версии Lite, поэтому пришлось воспользоваться демо-версией, которую можно успешно наполнять своими данными и использовать для своих нужд.
![image](https://habrastorage.org/getpro/habr/post_images/83d/5f2/a9d/83d5f2a9df56eeafdd4bc2487cb8bf3b.jpg)
Прежде всего, Monitor удивляет набором полей каждой из карточек. Например, для продукта предусмотрено изображение, заменители, цены конкурентов на такой же продукт, ГОСТы и т.д… Из таких полей строятся аналитические данные, которые больше подойдут службе маркетинга или развития, чем отделу продаж или клиентского сервиса. При этом модуль продаж отлично организован: можно смотреть и создавать отгрузки, заявки, оплату. В планировщике задач можно создавать задачи разного типа с цветовой индикацией и напоминаниями.
Если обратиться к аналитике, то в этой CRM считается маржа, рентабельность и множество других показателей. Интересна вкладка «Проблемные зоны» с возможностью создания кастомных группировок клиентов, которые являются проблемными. Из очевидных промахов юзабилити — множество окон на одном экране: обзор процесса ухудшается, окна приходится ужимать, логика некоторых ветвей и деревьев непонятна и неудобна для пользователя.
В заключение могу сказать, что как пользователь я не вижу смысла в однопользовательской аналитической CRM – вся мощь аналитики, которая пригодилась бы в крупной компании при совместной работе, превращается в неуклюжий, ненужный набор, тянущийся за неплохим планировщиком и системой управления продажами.
Прошли во второй этап
Со всеми тремя системами из этой группы, как и с некоторыми предыдущими, мне уже приходилось плотно работать, однако версии значительно обновились, поэтому испытания пришлось проводить фактически с чистого листа. Могу точно сказать, что все изменения произошли только к лучшему.
Quick Sales CRM — трудолюбивая CRM, соответствующая своему логотипу-пчеле. Простой и понятный интерфейс, доступные кнопки вызова модулей в меню справа, хорошо написанная справка.
![image](https://habrastorage.org/getpro/habr/post_images/15d/ff1/6df/15dff16df4fcbe2988645ba8542dd96e.jpg)
Карточка клиента обладает всеми необходимыми полями, можно проставлять статус клиента, предусмотрены кнопки для быстрого перехода на сайт клиента и для звонка через софтфон, легко прописываются планы по клиенту.
Вся работа с клиентом фактически ведется в его карточке — в ней создаются работы (с классификацией типа), договоры (с ссылками на файл), заметки, планы, а также вносятся товары и услуги.
Что касается товаров и услуг, то их необходимо сначала вносить в справочник «Продукты», при создании можно выставлять хинт «Услуга», но на мой вкус, лучше создавать разные папки для разных групп товаров и услуг. Перед началом работы с продуктами совершенно не лишним будет зайти в раздел «Общие настройки» и разобраться с валютами по умолчанию и валютой прайса в справочнике Продукты. При введении цены в прайс валютой по умолчанию является доллар, но предупреждения об этом нигде нет. Но при этом, если в прайс внесены цены и валюту сменить уже после внесения, то цена останется внесенной (было 10 долларов, стало 10 рублей).
Не понравилось, как реализована база знаний, однако ее существование — уже плюс. Она предусматривает ответ и вопрос по продукту, без вложенности и особой распространенности, но с возможностью прикрепления файла. Такое решение очень здорово может помочь менеджерам, работающим с клиентами, а также техподдержке. В Quick Sales CRM хорошо реализована древовидная структура справочников, которые можно расширять и кастомизировать под свои потребности.
А вот что конкретно не понравилось, так это наличие в меню функций, недоступных в бесплатной версии. Их можно было бы вынести в отдельный тур, раздел справки, всплывающее окно, куда угодно — только не в меню. Открываешь с наивной радостью: интеграция с 1С, импорт базы QS, рассылка, групповые операции над данными, а тебе в ответ окно с информацией о доступности только в платной версии. После очередной недоступной функции удовольствие от пользования CRM разбавляется раздражением.
RegionSoft CRM. В бесплатной редакции, работающей под СУБД Firebird, можно подключаться как к существующим базам данным, так и создавать и наполнять новые базы. При первом запуске система выводит форму, в которой заносятся данные о вашей организации и учетной записи.
![image](https://habrastorage.org/getpro/habr/post_images/b9f/a6e/4a6/b9fa6e4a6e9563f15356d0575f170112.jpg)
Работать в CRM просто — она имеет интуитивный интерфейс с графическими кнопками и привычным меню. Слева находится меню «Ассистент», в котором в один клик можно открыть счета, планировщик, задачи. Планирование в Express хорошо продумано — настроены напоминания, можно сдвигать планы, редактировать карточки задач. Задачи создаются в одно окно, можно выставить время напоминания, добавить комментарий, выбрать ответственного.
В RegionSoft Express, пожалуй, самые полные и аккуратные справочники, которые можно дополнять в несколько кликов. Такая наполненность данными значительно экономит время при старте работы с CRM.
При создании карточки клиента можно выставить флаг важности (статус: горячий клиент, позитивный процесс, негативный процесс). Внизу карточки реализована вся его история с вкладками: события, задачи, счета, продажи, услуги, корреспонденция и файлы (файлы имеют вложенную структуру, можно создавать папки).
Карточка товара создается также просто, прямо в ней можно создать коммерческое предложение и прикрепить необходимые файлы, например, фото товара, его спецификацию, сертификат соответствия и проч… Продажи можно заносить прямо в раздел «Продажи» и создаваться через счет: выписывается счет, выставляется клиенту и затем на основе существующего счета создается продажа.
Кроме того, в RegionSoft CRM предусмотрен журнал корреспонденции, база знаний с разделами и внутренним редактором, мощные настраиваемые фильтры. Отчеты строятся в виде таблиц или гистограмм, в отдельных файлах, которые можно выгружать и импортировать. Среди достоинств RS отдельно нужно отметить печатные формы — в пару кликов можно создать и распечатать любой отчет, который не стыдно показать на любом совещании. Примечательно, что в RegionSoft CRM самый богатый набор горячих клавиш — это тоже значительно экономит время.
Все окна в системе модальные: с одной стороны, это не дает промахнуться, с другой — мешает и напрягает. Сохраняемые шаблоны фильтров в бесплатной версии не предусмотрены, поэтому фильтровать данные приходится каждый раз заново и вся мощность фильтров частично теряет свою привлекательность. При запуске CRM предлагается ознакомительный тур по возможностям платных версий. Вроде особо не мешает, но я пролистала и закрыла, на сайте все доступно. В CRM не хватает хорошей классической встроенной справки, которая помогла бы быстро вникнуть во все возможности, не залезая в отдельный тьюториал.
ClientCommunicator. Самая богатая по функционалу из бесплатных CRM, но со своими «заморочками», которые начинаются с установки. При установке КлиК скачивает порядка 500 Мб дополнительных файлов: Windows Installer, MS SQL2008R2, который обязательно будет скачиваться, даже если стоит предыдущая версия MS SQL. Процесс установки на современном компьютере занимает чуть больше, чем 40 минут.
![image](https://habrastorage.org/getpro/habr/post_images/703/7c3/03a/7037c303a66d0bea089394ca0895f15e.jpg)
Интерфейс КлиКа настойчиво напоминает MS Office 2010, очень удобно для тех, кто привык. В ходе работы открытые вкладки перегружают окно, мне откровенно не хватало 15 дюймов ноутбука, чтобы иметь желаемый обзор. При переключении между функциями даже в однопользовательской версии происходит «подвисание» до 10 секунд. Однако такой интерфейс полностью оправдывается набором функций.
Карточка товара (запись в разделе «Продукция») включает обширные данные по позиции, типы цен, единицы измерения, скидки, поставщиков. Продажи включают основную карточку записи, а также форму для SWOT-анализа и учета возражений, историю стадий продажи. Раздел «Маркетинг» позволяет вести учет маркетинговых инициатив, конкурентных предложений, информационных источников. Модуль «Персонал» дает возможность учитывать KPI, мотивацию персонала и заработную плату, диверсифицируя эффективность каждого менеджера по установленным критериям.
Отчеты в ClientCommunicator есть в модулях и реализованы отдельно, в виде OLAP. Панель показателей отображает данные по плану, факту и проценту выполнения в табличном представлении и в виде красивых «спидометров» с индикацией каждого показателя. Таблицы удобные и наглядные, чего не сказать о графических индикаторах — они красивые, но абсолютно не функциональные. Раздел «Создание отчетов» достаточно сложен по своей реализации — менеджеры, которые тестировали софт, не все справились с отчетами. Мне же был интересен OLAP от КлиКа. Выросшая на OLAPe CBOSS, в КликКе я проблем не испытала, но могу точно сказать, что это гибкое и тонко настраиваемое решение для создания отчетов практически нереально для использования обычными менеджерами по работе с клиентами — они просто не привыкли к таким конструкторам.
Из дополнительных приятных фишек: дерево несложных фильтров, наполненные справочники, горячие клавиши управления. Кстати, о клавишах. Непривычно отсутствие кнопки «Создать» (товар, продажу, контрагента и т. д.), работа с таблицами происходит при помощи правой клавиши мыши или горячих клавиш (создать — Insert).
В целом ClientCommunicator — функциональная и приятная для работы CRM, однако избыточность, медлительность и сложность построения отчетов пугают рядовых пользователей. А вот небезразличного IT-шника порадует конфигуратор для создания объектов, процедур и изменения логики системы, а также дизайнер форм, доступные даже в бесплатной версии.
Выводы и тизеры
Было бы странным среди недостатков бесплатных CRM указывать отсутствие сетевой работы или ориентированность на одно локальное место. Можно сказать одно — если перед вами хорошая, сильная бесплатная CRM с продуманным интерфейсом и юзабилити, то это отличная возможность провести полномасштабные испытания софта перед покупкой.
Мы еще не купили CRM, начинаем «обкатывать» демо-версии с более широким функционалом. Во второй части эксперимента мы продолжим разбираться с финалистами этой части и добавим новых, именитых и не очень, участников. А заодно поднимем вопрос цены и целесообразности внедрения. Надеюсь, будет что сказать.
С той поры и повелось. Сутки через трое. Только муж за дверь – она ко мне, а чаще я к ней. Сам не заметил, как стал жить по тому же графику. Организм мой так приспособился, что сутки через трое ебаться требует – аж яйца сводит. В иные дни я, конечно, и с другими бабами сближался, но в назначенный срок – хуй только на Наташку вставал. Как собака Павлова, бля…
Все шло заебись, я даже приборзел слегка. Приду бывало к Наташке, пожру наваренных для мужа щей, чай попью из его большой кружки, ну и присуну хозяйке дома, как надо… Единственное, что напрягало, - Наташкино нытье. Типа и хуй у мужа маленький, и неласковый он, и скупой. «Может, - говорит, - я разведусь, и мы поженимся?» Ну, думаю, пора делать ноги…
Ситуация разрешилась естественным образом. Я в тот день Наташку отъебал хорошенько, ну и остался у нее футбол посмотреть. Сижу голый, опоясанный полотенцем, перед телевизором, пиво хуярю. И тут открывается дверь, входит он. Хуй знает, чего он приперся домой в рабочий день. Может, все сгорело к ебеням. Или воду на пожарке отключили. Наташка было засуетилась, да хули тут гоношиться. Попали, так попали…
Надо отдать должное, муж повел себя, как настоящий офицер. Жене переебал, а меня не тронул. Наверное, увидел, что у меня хуй больше. А может, просто джентльмен…
Ну а я сильно-то не расстроился. Проблема в другом: организм привык к регулярности. Теперь вот пишу вам и дрочу по привычному графику. Сутки через трое…
В день праздника, чтобы истребить в себе чувство неловкости, я прямо с утра соточку сразу хлопнул. Потом еще. Короче, когда приехали невесту выкупать, мне уже было все похую. Только с Антохой в подъезд собрались заходить, какие-то подружки невестины нарисовались. И давай причитать:
«Да, у нас невеста есть,
Невозможно глаз отвесть:
Молода, стройна, красива,
Белолица, всем на диво».
Я им говорю: «Вы чего, дамочки, ебанулись? У вас глаза есть? Вот вам бутылка шампанского, и не треплите мне нервы». После этого вопросов не было. Выкупили невесту по-дешевке…
В загсе тоже было негладко. Сначала музыканты, которые вальс Мендельсона играют, увидев невесту, сбились с такта. А флейтист так вообще не мог попасть инструментом в рот. Потом белый голубь, которого молодая выпустила в небо на счастье, насрал ей прямо на фату…
А сама свадьба из-за такой неприятной невестиной наружности вообще превратилась в трагифарс. Да еще и свидетельница, как на контрасте, попалась пиздатая – красивая и веселая. Ее там вся мужская часть гостей хотела выебать, а некоторым даже удалось…
Праздновали в кафе. Весь зал невестины родственники украсили самодельными плакатами издевательского содержания. Ну что-то типа:
Совет да любовь
Тра-та-та
Хуй да пизда
Красота…
Все гости разделились на две половины. Те, что со стороны невесты, не скрывали радости, что пристроили такое уебище. А те, что со стороны жениха, были сильно разочарованы. Мужики часто ходили нервно покурить, а женщины перешептывались и кивали друг другу… Да еще этот тамада подливал масла в огонь. У него ж все сценарии заточены под то, чтобы красоту невесты восхвалять. Когда он в очередной раз проблеял:
«А невеста - раскрасавица-душа
И, нам кажется, не хуже жениха»,
Антохин батя чуть ему не переебал. Еле оттащили…
А эта, блядь, невеста, кроме того, что страшная, еще и дура оказалась. То у нее туфлю кто-то спиздил, то ее саму типа со свадьбы украли. Лучше бы и вправду уволокли и не вернули. Я ее потом в подсобке нашел. Сидит на мешке с мукой, поросячьими глазками своими хлопает, радуется. «Хули, - говорю ей, - радуешься. Опять мне из-за тебя из туфли пить». Это вроде как обычай такой долбоебский. Когда у невесты туфлю украли или ее саму, свидетель должен пить из этой туфли. Типа в наказание. В первый раз мне в ее туфлю стакан водки поставили. Хуй с ним, выпил. А во второй брат невесты нахуярил прямо в поношенную туфлю 39-го размера какой-то краснухи. Хотел я ему эту хуйню на голову вылить, да сдержался. Все-таки праздник у людей. После этого мало что помню…
Помню только, когда все закричали «Горько! Горько!», меня стошнило. Прямо в артишоки…
Еще помню, тамада никак не унимался, все конкурсы устраивал. Принес какой-то таз. И опять за свое:
«За невестину красу
Танцуй, жених, нам на тазу.
И ты, свидетель, не робей,
Танцуй нам белых лебедей»
Каких еще, нахуй, лебедей? Тут уж я не сдержался - переебал этого пиздобола тазом по башке… Следом папа невесты подскочил, давай руками размахивать, обзывать меня пьяным и нервным. Напрасно он это сделал – у меня же в руке таз был… Ведь если трезво разобраться, именно этот папаша во всем виноват. Не можешь делать красивых дочек – сиди, дрочи перед компьютером. А баб не трожь. Они для людей с нормальным генофондом созданы…
В общем, в конце свадьбы мы родню невесты слегка попиздили для профилактики, но потом замирились и «Ой, рябина кудрявая» пели все вместе…
Разошлись далеко за полночь. Помню, шли мы вдвоем с братом невесты, орали «Зеленоглазое такси». Все-таки классный он оказался парень, и тоже страшных баб не любит. Обещал мне через неделю свидетельницу на поебаться подогнать…
Ну а в этот раз все обещало быть иначе. Оказывается, у нас в городе недавно одна конторка открылась, нелегальная, разумеется. Вроде как там проститутки только симпатичные, умные и из интеллигентных семей. Стоят такие цацы в 3 раза дороже. Короче, дружбаны мне говорят, назначай дату, мы тебе подарим сей эксклюзив на целую ночь. Окей, отвечаю, братцы, премного вам благодарен. Давайте сегодня пить-гулять, а завтра вечером извольте доставить подарок ко мне домой…
На следующий день к обеду уже поднялся на ноги. Помылся, побрился, надушился своим любимым Freedom от Tommy Hilfiger. Думаю, надо порядок в квартире навести, все-таки ж девушка не простая придет. Купил в магазине кое-какой праздничной пищи. К вечеру стал ждать, даже что-то разволновался немного, как перед первым свиданием. Я вообще тоже не на помойке обучался: за спиной физматшкола и престижный ВУЗ, но все равно встревожился. Думаю, придет сейчас, бля, Оксана Федорова с интеллектом Инны Друзь. Смогу ли я соответствовать?
В назначенный час звонок в дверь. Открываю. На пороге милое создание – невысокая худая брюнетка с короткой стрижкой. Неплохое личико. Что-то среднее между Лив Тайлер и Татьяной Митковой. Такую можно даже бесплатно выебать, не то что за деньги. Проходите, говорю, мадемуазель, как вас звать-величать? Виолетта! Ну ясен хуй, с таким именем не на скотном дворе работать…
Усадил даму за стол. Вот, говорю, креветки, здесь анчоусы, сыр с плесенью, салат «Нежность». Угощайтесь. Что изволите пить? Мартини? Шампанское?
- А водка есть? – спросила Виолетта и взяла рукой кусок колбасы.
Ну, думаю, нормально. Девочка без излишнего эстетского подхода к питанию. Короче, ударили мы с ней по водочке. Едим, пьем, продолжаем светскую беседу…
- А вы, - спрашиваю я, - из какого сословия будете?
- У меня старший брат – начальник отдела в РОВД…
Хуясе. Я, конечно, предполагал, что девушка из интеллигентной семьи. Но не до такой же степени… Ну, думаю, на анальный секс сегодня лучше не рассчитывать…
- И он знает о вашем ремесле?
- Знает. Он несколько раз меня вытаскивал, но постепенно смирился. Очень уж я мужиков люблю…
- Понял…Может, музычку какую поставить? У меня полное собрание Шнитке, Alanis Morisette и The Cure.
- А Стас Пьеха есть? Ну или Максим?
В общем, интеллектуальная составляющая беседы постепенно сошла к нулю. А жаль. Я ведь хотел еще с ней обсудить правило Лопиталя и теорему Ляпунова. Со мной никто это не обсуждает почему-то…
В итоге нажрался я под завязку. Ну а секс вроде был неплохой. Не обманула Виолетта, любит она мужиков…
Утром проводил жрицу до порога, выпил крепкого кофе, включил канал «Культура». А у самого минувший вечер из головы не выходит…
Правы иные политологи: вымирает интеллигенция, эволюционирует…
Правда есть у меня в штанах еще три козыря: ноги с красивыми мощными мышцами, большие яйца и хуй с родинкой. Но эти атрибуты мужского обаяния сразу ведь даме не предъявишь. Не так ли?
Тот пятничный вечер начался тривиально. Пашка напиздел своей жене, что на работе завал, и он остается трудиться в ночь. Мы заняли позицию за столиком в ресторане «Волжские зори», заказали по сто пятьдесят водочки, рыбную нарезку и салатики. Тут важно не нажраться раньше времени, делать умные лица и демонстрировать полное спокойствие…
К девяти вечера мы, как истинные русские богатыри, встали перед выбором одного из трех путей.
Вариант первый. За столиком у окна три дамочки празднуют день рождения одной из них. Именинница жадно поглядывает в нашу сторону. Уже дошли до кондиции, можно брать. Минусов всего два: их трое, и одна из них – жирное уебище…
Вариант второй. За столиком в углу две гламурные девицы тянут какие-то коктейли. Выглядят неплохо, но смотрят хищно. Рискованный расклад.
Вариант третий. За столиком в центре зала две симпатичные дамочки неспешно пьют шампанское. Блондинка и брюнетка. Мило беседуют. Блондинка посмотрела в нашу сторону и что-то сказала подруге. Они негромко засмеялись. Через несколько секунд в нашу сторону как бы невзначай посмотрела брюнетка и едва заметно кивнула блондинке…
Все ясно – работаем по третьему варианту.
Знакомимся. Обеих зовут Наташами. Очень хорошо, а то я вечно женские имена путаю. Блондинка разведена, художница. Брюнетка – дизайнер, замужем. Муж – моряк дальнего плавания, в данный момент огибает мыс Горн. То есть все безопасно, ебаться можно без трусов…
Теперь сидим за столиком вчетвером. Пьем, едим, пиздим, иногда танцуем. Брюнетку взял на себя. У нее и фигура получше, и губки пухлее. Предложение продолжить застолье в моей скромной двухкомнатной квартире встречено без фонтана эмоций, но с пониманием. Девочки уходят пописать и покурить. К их возвращению счет оплачен, такси заказано. Едем вчетвером ко мне, заскочив по пути в супермаркет…
Обычно мы с Пашкой стараемся много не пить, ибо пьяный хуй – вялый хуй. Но в тот пятничный вечер конкретно перебрали. В два часа ночи я на рефлексах взял свою брюнетку в охапку и поволок в спальню. На автопилоте раздел ее и разделся сам. Качественного минета не вышло.
- Ты извини, я больше не могу. Боюсь, сейчас стошнит, - сказала Наташа.
Это она не из-за личной неприязни к моему хую, я так думаю. Тоже выжрала немало. Кое-как присунул ей на правом боку и уснул с чувством исполненного долга…
Должен признаться, что пьяный ли, трезвый ли, но я сплю очень чутко. Особенно после того, как семь лет назад меня две девки поутру обокрали. Теперь я в подобных ситуациях дверь изнутри запираю, а ключ кладу в секретное место – под телефонный справочник в верхнем ящике трюмо, что в прихожей стоит…
Вот и в этот раз, когда поутру моя Наташа поднялась, я сразу напрягся. Стал вслушиваться в звуки. Ага, пошла поссать. Смыла. Хорошо. Включила воду в ванной. Подмывается, наверное, или руки моет. Молодец. Зашлепала босыми ногами на кухню. Пьет воду из графина.
- Ната-а-аш! Ната-а-аш! Принеси и мне водички, пжалста…
Приносит целый стакан. Жадно пью. Благодарю. Хуй поутру у меня всегда стоит отменно.
- Иди ко мне, Наташа…
Я вообще разнообразие в сексе люблю, поэтому в этот раз ебу ее на левом боку…
Через полчаса из соседней комнаты с лицом пчеловода-дебютанта появился Паша. Уже одетый. Он вызвался напоить барышень чаем и проводить до автобусной остановки, а сам поехал домой, в семью. Я снова уснул крепким сном человека, сделавшего что-то очень важное, и весьма довольного собой…
Проснулся я ближе к полудню от настойчивых звонков в дверь. Открываю. На пороге Паша с расцарапанной рожей.
Дальнейшее повествование с его слов.
Как выяснилось, вследствие алкогольной интоксикации ночью Паша едва дошел до кровати, вырубился прямо в одежде и громко захрапел. Все попытки Наташи-блондинки поднять его, видимо, остались безрезультатными. А неудовлетворенная женщина – страшная женщина. Тем более художница. В итоге Наташа раздела пьяного горе-ебаря и разрисовала его тело каким-то зеленым фломастером. После чего не забыла товарища одеть...
Ничего не подозревающий Паша пришел утром домой. Типа усталый с работы. И перед своей женой снял с себя рубашку. Вот лишь некоторые надписи, обнаруженные супругами на его теле:
- я – долбоеб
- у меня не стоит хуй
- почему я не выебал Наташу?
- импотент
- пидор?
- Аргентина – Ямайка 0:0
Кроме того, прямо на его хую красовалась оригинальная надпись «хуй», а вся жопа была изрисована васильками…
Его попытки объясниться с женой привели к скандалу с пиздюлями....
Когда я перестал ржать и вытер слезы, мы с Пашей сели на кухне. Я налил по соточке. Ну, блядь, за женский юмор…
Доступ к записи ограничен
Доступ к записи ограничен
Доступ к записи ограничен
Таблица основных пользовательских атрибутов Active Directory
Attribute \ Атрибут | Англоязычное название | Русскоязычное название | Value \ Значение |
OU (Organizational Unit) \ Подразделение | |||
distinguishedName | Distinguished Name | Отличительное (уникальное) имя | OU=Компания,DC=domain,DC=com |
name | Компания | ||
Group \ Группа | |||
distinguishedName | Отличительное (уникальное) имя | CN=Группа,OU=Компания,DC=domain,DC=com | |
name | Группа | ||
member | Members | Члены группы (какие пользователи входят в данную группу) | CN=Сергей Петрович Иванов,OU=Компания,DC=domain,DC=com |
User \ Пользователь | |||
distinguishedName (DN) | Distinguished Name | Отличительное (уникальное) имя | CN=Сергей Петрович Иванов,OU=Компания,DC=domain,DC=com |
DC | Domain Component | DC=domain,DC=com | |
OU | Organizational Unit | Подразделение | Компания |
CN | Common Name | Общее имя | Сергей Петрович Иванов |
givenName | First name | Имя | Сергей Петрович |
name | Full name | Полное имя | Сергей Петрович Иванов |
sn (SurName) | Last name | Фамилия | Иванов |
displayName | Display Name | Выводимое имя | Сергей Петрович Иванов |
Электронная почта | [email protected] | ||
sAMAccountName | User logon name (pre-Windows 2000) | Имя входа пользователя (пред-Windows 2000) | IvanovSP |
userPrincipalName | User logon name | Имя входа пользователя | [email protected] |
memberOf | Member Of | Член групп (в какую группу входит данный пользователь) | CN=Группа,OU=Компания,DC=domain,DC=com |
Стоит отметить, что пользовательский displayName ≠ CN = Full name\Полное имя = namе
, что можно видеть на последнем скрине.
Для более наглядного понимая приложу скрины:
Читать
ROBOCOPY :: Robust File Copy for Windows
-------------------------------------------------------------------------------
Начало: Tue Sep 06 00:44:31 2011
Применение:: ROBOCOPY источник назначение [файл [файл]...] [Параметры]
Источник:: Исходная папка (диск:\путь или \\сервер\общий ресурс\путь).
Назначение :: Конечная папка (диск:\путь или \\сервер\общий ресурс\путь).
Файл :: Копировать файлы (имена и подстановочные знаки: по умолчанию "*.*").
::
:: Параметры копирования:
::
/S :: Копировать вложенные папки, кроме пустых.
/E :: Копировать вложенные папки, включая пустые.
/LEV:n :: Копировать только верхние n уровней исходного дерева папок.
/Z :: Копирование файлов с возобновлением.
/B :: Копирование файлов в режиме архивирования.
/ZB :: используется режим с возобновлением; если доступ запрещен, используется режим архивации.
/EFSRAW :: Копирование всех зашифрованных файлов в режиме EFS RAW.
/COPY:флаги копирования :: что копируется для файлов (по умолчанию /COPYAT).
(флаги копирования: D=Данные, A=Атрибуты, T=Метки времени).
(S=Безопасность=NTFS ACLs, O=Сведения о владельце, U=Сведения аудита).
/DCOPY:T :: Копирование меток времени папки.
/SEC :: Копировать файлы с параметрами безопасности (эквивалентно /COPYATS).
/COPYALL :: Копировать все сведения о файле (эквивалентно /COPYATSOU).
/NOCOPY :: Не копировать никаких сведений о файле (удобно использовать с параметром /PURGE).
/SECFIX :: Исправлять параметры безопасности для всех файлов, даже пропущенных.
/TIMFIX :: Исправлять атрибуты времени для всех файлов, даже пропущенных.
/PURGE :: Удалять файлы и папки назначения, которых больше не существует в источнике.
/MIR :: Создать зеркало дерева папок (эквивалентно /E с /PURGE).
/MOV :: Перемещать файлы (удаление из источника после копирования).
/MOVE :: Перемещать файлы и папки (удаление из источника после копирования).
/A+:[RASHCNET] :: Добавлять заданные атрибуты скопированным файлам.
/A-:[RASHCNET] :: Удалять заданные атрибуты из скопированных файлов.
/CREATE :: Создать только дерево папок и файлы нулевой длины.
/FAT :: Создать файлы назначения только в формате 8.3 FAT.
/256 :: Отключить поддержку длинных путей ( > 256 знаков).
/MON:n :: Наблюдать за источником; перезапустить после n изменений.
/MOT:m :: Наблюдать за источником; перезапустить через m минут, если произошли изменения.
/RH:hhmm-hhmm :: Часы запуска - время, когда можно запускать новое копирование.
/PF :: Проверять часы запуска по файлам (не по проходам).
/IPG:n :: Интервал между пакетами (мс) для снижения нагрузки на сеть при низкоскоростных подключениях.
/SL:: копирование самих символических ссылок вместо копирования целевого объекта этих ссылок.
::
:: Параметры выбора файлов:
::
/A :: Копировать только файлы с установленным атрибутом "Архивный".
/M :: Копировать только файлы с атрибутом "Архивный" и сбросить его.
/IA:[RASHCNETO] :: Включить файлы, у которых установлен какой-либо из заданных атрибутов.
/XA:[RASHCNETO] :: Исключить файлы, у которых установлен какой-либо из заданных атрибутов.
/XF file [файл]... :: Исключить файлы, соответствующие заданным именам, путям и подстановочным знакам.
/XD dirs [папки]... :: Исключить папки, соответствующие заданным именам и путям.
/XC :: Исключить измененные файлы.
/XN :: Исключить более поздние файлы.
/XO :: Исключить более ранние файлы.
/XX :: Исключить дополнительные файлы и папки.
/XL :: исключить отдельно расположенные файлы и папки.
/IS :: Включить те же файлы.
/IT :: Включить оптимизированные файлы.
/MAX:n :: Максимальный размер файла - исключить файлы, размер которых более n байт.
/MIN:n :: Минимальный размер файла - исключить файлы, размер которых менее n байт.
/MAXAGE:n :: Максимальный возраст файла - исключить файлы, возраст которых превышает n дней.
/MINAGE:n :: Минимальный возраст файла - исключить файлы, возраст которых менее n дней.
/MAXLAD:n :: Наиболее поздняя дата последнего обращения - исключить файлы, которые не использовались с даты n.
/MINLAD:n :: Наиболее ранняя дата последнего обращения - исключить файлы, которые использовались после даты n.
(Если n < 1900, то n = n дней, в противном случае n - дата в формате ДДММГГГГ).
/XJ :: исключить точки соединения. (по умолчанию обычно включаются).
/FFT :: Использовать время файлов FAT (двухсекундная точность).
/DST :: Учитывать одночасовую разницу при переходе на летнее время.
/XJD :: Исключить точки соединения для папок.
/XJF :: Исключить точки соединения для файлов.
::
:: Параметры повторных попыток:
::
/R:n :: число повторных попыток для неудавшихся копий: по умолчанию - 1 миллион.
/W:n :: Время ожидания между повторными попытками: по умолчанию - 30 секунд.
/REG :: Сохранить /R:n и /W:n в реестре как параметры по умолчанию.
/TBD :: Ждать, пока будут определены имена общих ресурсов (ошибка повторной попытки 67).
::
:: Параметры ведения журнала:
::
/L :: Только список - файлы не копируются, не удаляются, не помечаются метками времени.
/X :: Сообщать обо всех дополнительных файлах, а не только о выбраных.
/V :: Подробный вывод с указанием пропущенных файлов.
/TS :: Включать в вывод метки времени исходных файлов.
/FP :: Включать в вывод полные пути файлов.
/BYTES :: Печатать размеры в байтах.
/NS :: Без размера - не заносить в журнал размер файлов.
/NC :: Без класса - не заносить в журнал классы файлов.
/NFL :: Без списка файлов - не заносить в журнал имена файлов.
/NDL :: Без списка папок - не заносить в журнал имена папок.
/NP :: Без хода процесса - не отображать число скопированных % .
/ETA :: Показывать оценку времени окончания копирования файлов.
/LOG:файл :: Записывать состояние в файл журнала (перезаписывать существующий журнал).
/LOG+:файл :: Записывать состояние в файл журнала (добавлять к существующему журналу).
/UNILOG:файл :: Записывать состояние в файл журнала в формате Юникод (перезаписывать существующий журнал).
/UNILOG+:файл :: Записывать состояние в файл журнала в формате Юникод (добавлять к существующему журналу).
/TEE :: Направлять выходные данные в окно консоли и в файл журнала.
/NJH :: Без заголовка задания.
/NJS :: Без сведений о задании.
/UNICODE :: Cостояние вывода в формате Юникод.
::
:: Параметры задания:
::
/JOB:имя_задания :: Взять параметры из указанного файла задания.
/SAVE:имя_задания :: Сохранить параметры в указанный файл задания
/QUIT :: Выйти после обработки командной строки (для просмотра параметров).
/NOSD :: Не указывается исходная папка.
/NODD :: Не указывается папка назначения.
/IF :: Включить следующие файлы.
Пример
echo Start backup time: %DATE% %TIME% >> g:\BC\backup_time.txt
robocopy.exe S:\ g:\BC\MK\ /MIR /R:1 /W:1 /NP /TEE /LOG:g:\BC\00_sync.log
echo End backup time: %DATE% %TIME% >> g:\BC\backup_time.txt
@rem chcp 866
@CLS
@COLOR A
title ArmAdm
@call
![:D](http://static.diary.ru/picture/1131.gif)
@rem folderw="____"
@Set DIR_PATH=%~dp0
@Set logDelete=0
@Set LOG="%~dp0%~n0.log"
@rem Откуда копируем
@rem subst x: /d
@rem subst x: %folderw%
@set DD="____________"
@set Di="_______________"
@rem Куда копируем
@set DS="_____________"
@set DD1="_______________"
@rem Типы файлов
@Set maskfiles=*.bak
@if "%logDelete%" == "1" (
@if exist "%log%" (
@del "%log%" /Q
)
)
call
![:D](http://static.diary.ru/picture/1131.gif)
@if exist "%DS%\%maskfiles%" (
@echo Date: %date%,Time: %mh% start >> %log%
@for %%f in (%DS%\%maskfiles%) do (
call XCOPY %%f %DS% /Y /M
forfiles /p "%DS1%" /s /m *.* /c "cmd /c Del @path /q" /d -5
@echo %%~nxf >>%log%
)
)
@if exist "%DD%\%maskfiles%" (
@echo Date: %date%,Time: %mh% Cписок %maskfiles% >> %log%
@for %%f in (%DD%\%maskfiles%) do (
call XCOPY %%f %DD1% /Y /M
forfiles /p "%DD1%" /s /m *.* /c "cmd /c Del @path /q" /d -5
@echo %%~nxf >>%log%
)
)
@rem subst x: /d
@echo Date: %date%,Time: %mh% End >> %log%
exit /b
:data
set tempdate=%date:~-10%
set YYYY=%DATE:~-4%
set YY=%date:~8,2%
set MM=%DATE:~3,2%
set DD=%DATE:~0,2%
set ms=%TIME:~-2%
set ss=%TIME:~6,2%
set mh=%TIME:~0,8%
set mn=%TIME:~3,2%
exit /b