Szépnapot!
Azzal kezdeném, hogy NEM házi feladatot szeretnék megoldatni a HUP közösséggel!
Arról van szó, hogy változott a munkaköröm egy része, ezzel együtt "természetesen" új feladatok is hárulnak rám. A dolgok jelenlegi menete szerint a feladatot "kézzel" kell megoldani... azaz ott ülök a gép előtt és szépen több programot használva elvégzem amit "a vezetőség elvár" :-)
Amit tennem kell:
-WinSCP segítségével belépek egy szerverre
-kikeresem a cégünk nevét tartalmazó mappát
-kikeresem az aznapi dátumot tartalmazó mappát
-lemásolom a teljes tartalmát a saját gépre, szintén aznapi dátummal ellátott mappába
-PrintConductor nevű program segítségével kinyomtatom a saját gépről az aznapi dátumú mappa teljes tartalmát /kizárólag pdf állományok vannak benne/
A probléma "csupán" annyi ezzel, hogy a nyomtatás iszonyat hosszú ideig tart. Ha meg tudnám oldani ezt a feladatot automatikusan akkor pl reggel 5-kor elindulhatna a nyomtatás és mire bemegyek már csak szortírozni kellene. Most kb 5 percnyi effektív tevékenység miatt kell 1-1,5 órával korábban bemennem és lábat lógatni amíg a nyomtató ontja magából a papírt.
Windows alatt még nem kellett ilyen jellegű problémát megoldanom. Természetesen több órányi "guglizáson" is túl vagyok már, de sajnos még a winscp-t sem sikerült parancssorból normálisan felparamétereznem, hogy automatikusan belépjen :-(
Ha a fent említett programokkal nem megoldható akkor természetesen jöhetnek az alternatívák is. Mivel a cég a feladatot eddig is manuálisan oldotta meg, és úgy most is meg tudom csinálni, ezért pénzt nem kapok programokra /azt meg már többször leírtam, hogy a warez nálam nem játszik/ így ingyenes cuccokra lenne szükség.
A lényeg, hogy nem a cégen könnyítenénk ezzel, hanem csak a saját életemet szeretném probléma mentesebbé tenni.
Minden választ előre is köszönök.
Üdv: Feri
- 3677 megtekintés
Hozzászólások
Konkrétumot nem tudok neked adni, de logikai "ügymenetet" igen. Valami scripttel le tudod automatán másolni a szerverről a cuccokat, nálunk egy egy kb 50 soros perl script. Belép, kitallóz, másol. Utána keresni kell valami parancssorból ütemezhető nyomtató progit, amit beraksz a taskok közé hogy mikor induljon. Nem tűnik bonyolult feladatnak.
3
up: pdf nyomtató cli-ből: http://www.verypdf.com/pdfprint/pdf-print-cmd.html
-------------------------
127.0.0.1 SWEET 127.0.0.1
AMD Athlon X2 245E@3,1 GHz OC, MSI Radeon 6770 1 Gb GDDR5, Seagate Barracuda, Windows 7 Enterprise
- A hozzászóláshoz be kell jelentkezni
Pár tanácsnak indult, végül megoldottam minden kritikus részt.
Winscp-vel be tudsz lépni, akár a winscp gui-val indítva beállítod a belépési adatokat, jelszót elmenteted vele, akkor parancssorból csak a profil nevét kell megadnod. Biztonságosabb, a jelszót a winscp.ini-ben titkosítva tárolja, nem pedig a batch file-ban van benne pure stringként.
(emiatt meg se néztem, hogy lehet winscp.ini-n kívülről, parancssorból csatlakozási adatokat átadni)
winscp.exe profilneve /command "option confirm off" "put bg.png" "exit"
Winscp, profilneve, majd /command-al belép a saját kis parancssorolós módjába, idézőjelek közt mehetnek a parancsok, get asszem a letöltés, ez lehet *.* is, de akár a komplett mappát is lehúzhatod, exit meg legyen a végén, hogy a winscp ne promptoljon tovább.
A mappabelépéseket egymás után kell megadnod neki, cd-vel, a cégneves gondolom nem gond, a dátumoshoz egy kis help:
(windows xp cmd-vel, újabb lehet máshogy kezeli)
először nyomasd ki vele a %DATE% értékét, és nézd meg milyen formában kell és mi belőle.
%DATE:~0,4% - EZ pl azt jelenti, hogy a nulladik karaktertől, 4 hosszan szedi ki a tartalmat. többet is használhatsz egy sorban, egyeztesd a dátumok formáját, hogy mit hogy írtak, lezáró-% után mehet akármilyen karakter.
elvileg ezzel le is jön minden, ha nem lenne jó a get *.* winscp-ben, akkor van egész mappákra vonatkozó szinkronizálás, én azt használtam:
winscp.exe profil /default "synchronize both c:\Kepek ./image" "exit"
Ez asszem épp feltölti a c-képeket az ftp aktuális image almappájába, esetünkben gyökér/image mert nem léptem semmi mappába.
Ha ez nem lenne elég, szólj.
A print-elést nem tudom mennyire kezeli a printconductor *.* formában, nem használtam még. Ha nem tudná, van Autohotkey, ami képes figyelni, hogy milyen window title és egyéb van épp a print-elés ablakán, várni, stb, kb. ezekkel meg lehet azt is oldani.
Ha könnyűt akarsz .bat fájl, windows ütemezővel, ha biztosat akkor Autohotkey compiled exe, hibanapló fájlban, vagy messagebox-ban ki a végén, illetve van egy olyan, hogy cron for windows, valamilyen kicsit más néven, a cron for windows konkrétan egy perl script, de van exe formában is, csak nem találom a linkjét. Irsz privátban elküldöm mail-ben. (hopp egy vírus)
Azt próbáld ki először, hogy a winscp-vel le tudod e tölteni a fájlokat így, a sync minden fájlt leszed, nem hasonlítgat. Én a helyedben letölteném minden nap az aktuális teljes mappát, és arra küldeném rá a printer-t, így nem kell temp mappázni, törölgetni, gépen is meglesznek a fájlok, stb.
- A hozzászóláshoz be kell jelentkezni
Hali!
A %date% azért problémás mert 2012.08.12 formában adja vissza a távoli szerveren pedig 20120812 a könyvtár neve :-(
Winscp-t ha parancssorból indítom a profilnévvel amiben el van mentve a jelszó akkor is kéri a következőt: Jelmondat a 'imported-openssh-key' kulcshoz, így valószínűleg nem a felhasználói fióknak a jelszava hanem a winscp kéri ahhoz, hogy beolvassa ppk állományt :-(
Üdv:
Feri
- A hozzászóláshoz be kell jelentkezni
.bat:
for %%i in (%date%) do set dt=%%i
echo %%i
set yyyy=%dt:~0,4%
set mm=%dt:~5,2%
set dd=%dt:~8,2%
set date=%yyyy%-%mm%-%dd%
echo %date%
Na ez már majdnem megoldja a datum problémádat!
- A hozzászóláshoz be kell jelentkezni
date:
szakaszosan dolgozd fel, lásd %DATE:~0,4%, ez kírja az évet, a %DATE:~4,2% a hónap ha jól számolom, ... fentebb leírtam röviden hogy kell szakaszosan.
winscp:
nézd meg elmentette-e tényleg a jelszót...rákérdez, amikor konfigurálod, és be is kell valamit pipálni.
(mennyire biztonságos a gép amin van a feladat? mennyire cél, hogy ne tudjon más is hozzáférni az ftp-hez?)
SZERK.:
foci megadta a választ fentebb a batch-ével:
év - %dt:~0,4%
hónap - %dt:~5,2%
nap - %dt:~8,2%
esetedben a string:
%dt:~0,4%%dt:~5,2%%dt:~8,2%
- A hozzászóláshoz be kell jelentkezni
WinSCP helyett PSCP?
----------------
Lvl86 Troll, "hobbifejlesztő" - Think Wishfully™
- A hozzászóláshoz be kell jelentkezni
+1
- A hozzászóláshoz be kell jelentkezni
+1
- A hozzászóláshoz be kell jelentkezni
ha nemcsak scp -t tamogat a szerver
http://www.ssh.com/manuals/client-user/61/sftpg3.html
example :
sftpg3.exe -B GetFile.ftp --password=XXXXXXXX >> GetFile.out
GetFile.ftp tartalma :
open user@host#port
cd ahova
ls
get napifile.txt
bye
- A hozzászóláshoz be kell jelentkezni
Windowsos scripteleshez en cygwines dolgokat szoktam hasznalni (van egy elegge megvagott parancsgyujtemenyem), igy hasznalhatom a normal unixos parancsokat meg bash-t (es hordozhato marad, max. a PATH es par egyeb valtozo erteket kell allitgatni ha alapbol nem jo).
Winscp helyett en is a putty reszekent erkezo pscp-t ajanlom.
Inditas tortenhet ugy, hogy:
-ha folyamatosan megy a gep, akkor a scripted is folyamatosan futhat, idonkent var a kovetkezo napig
-ha a bios alarmra magatol ebred, akkor beteheted az inditopultba, es ellenorizheted, hogy hetkoznap van-e, es hajnali 5 korul (hogy a kesobbi rebootnal ne kezdjen nyomtatni)
-hasznalhatsz windowsos feladatutemezot
--
ezt tényleg ennyire nem értitek? - turdus :)
- A hozzászóláshoz be kell jelentkezni
Én írnék rá egy kis programot .NET-ben.
SharpSSH-val (vagy valami hasonló megoldással) letölteném a letöltenivalókat, majd szépen kinyomtatnám.
Fuszenecker_Róbert
- A hozzászóláshoz be kell jelentkezni
A WinSCP-nek direkte adott a .NET-es, és PowerShelles automatizálhatósága, és a lényegi részek példaprogramokból ki is lophatók (akár Perl is használható).
Szóval kis tanulás árán elérhető, hogy a meglévő megoldás mellé alig vagy egyáltalán nem kell telepíteni.
http://winscp.net/eng/docs/library#powershell
- o -
Egyébként is meggyőződésem, hogy aki wint használ, annak éppen annyira érdemes, ha nem elkerülhetetlen beleszoknia a PS-be, mint *nix alatt a shellbe.
Örüljünk annak, hogy van!
- A hozzászóláshoz be kell jelentkezni
AutoIt, nagy kedvencem. Komolyabb feladatra/környezetbe pedig System Center Orchestrator.
Üdv,
Marci
- A hozzászóláshoz be kell jelentkezni
+1
--
A legértékesebb idő a pillanat amelyben élsz.
http://phoenix-art.hanzo.hu/
https://sites.google.com/site/jupiter2005ster/
- A hozzászóláshoz be kell jelentkezni