日期:2014-05-16  浏览次数:20752 次

关于linux一个编程
有这样一个需求,某公司每月定期删除某些电脑里固定文件夹中一月未用的文件。
要求:通过配置IP来实现对文件的删除
      function $1 $2
       $1: IP
       $2: password


问题和要求大概就是这样了,我可以找到最近一月未用文件,也可实现删除,但怎么实现在别人电脑删除固定文件夹里的内容呢,我用  ssh root@(对方IP)  输入密码即可进入IP对应的终端,但怎么实现删除功能呢,(如果我说的不清楚可再问)求大神指点。
------解决方案--------------------
ftp, sftp都比较方便, 建议编程实现, Php写这个很简单,当然其他高级点的脚本语言都很容易实现, shell就笨拙了。
<?php
$connection = ssh2_connect('shell.example.com', 22);
ssh2_auth_password($connection, 'username', 'password');

$sftp = ssh2_sftp($connection);
$statinfo = ssh2_sftp_lstat($sftp, '/path/to/symlink');

$filesize = $statinfo['size'];
$group = $statinfo['gid'];
$owner = $statinfo['uid'];
$atime = $statinfo['atime'];
$mtime = $statinfo['mtime'];
$mode = $statinfo['mode'];
?>


一个简单的示例代码演示了sftp如何获取远程文件的访问时间等信息。

FTP更灵活一些,接口更多比如遍历目录,你可以看一下:
http://cn2.php.net/manual/en/function.ftp-rawlist.php
------解决方案--------------------
ssh user@remote_host "ls -al"

确保你的root用户可以自动登录
public key放到文件
/root/.ssh/authorized_keys

sshd的配置当中/etc/ssh/sshd_config开启root可以自动登录。