Do realizacji tego zadania bedziemy potrzebowali dwóch darmowych programów (Putty):
- plink.exe – zdalne wydawanie komend na serwerze linux przez ssh
- pscp.exe – przesył plików wykorzystując protokół ssh
Pobrane binarki wrzucamy do C:\ a następnie w tej samej lokalizacji tworzymy nasz skrypt video.bat
@echo OFF
:: Czyszczenie plików tymczasowych
break > %TEMP%\dir
break > %TEMP%\fn
:: Szukamy pliku do skopiowania ( wybieramy pierwszy, według daty utworzenia)
DIR C:\FTP\program* /Q /O-D /B /S > "%TEMP%\dir"
DIR C:\FTP\program* /Q /O-D /b /a-d > "%TEMP%\fn"
:: Pobieramy po pierwszej z plików
set /p firstDir= < "%TEMP%\dir"
set /p firstFn= < "%TEMP%\fn"
:: komenda do przemiany pliku na właściwe miejsce
set linuxCmd=C:\plink.exe -batch -ssh user@10.10.10.10 -pw MyPassword mv '/home/tv/new/%firstFn%' '/home/tv/program_%DATA%.mp4'
:: Przesył pliku i zdalne wywołanie komendy na serwerze linux
C:\pscp.exe -batch -pw MyPassword "%firstDir%" user@10.10.10.10:/home/tv/new
%linuxCmd%
Zadanie skryptu jest banalne proste, ma kopiować najnowszy utworzony plik w lokalizacji c:\FTP\ o pasującej nazwie do wyrażenia program*
Teraz pozostało nam dodanie codziennego wywołanie tego skryptu przez system. Zrobimy to w Windows Task Scheduler. Najprościej i najszybciej używając komendy w konsoli(PPM na start menu -> Uruchom -> cmd.exe -> Enter):
schtasks.exe /Create /SC DAILY /TN "video do programu" /TR "C:\video.bat" /ST 16:00
Oczywiście możemy to wszystko zrobić przez graficzna przystawkę w systemie „Taskschd.msc” możemy ja znaleźć w Panel Sterowania -> System i zabezpieczenia -> Narzedzia Administracyjne-> Harmonogram zadań